2015-06-22 33 views
3

我剛剛創建了一個應用程序Luminus公司主類:全新Luminus公司的應用程序給錯誤:無法找到或運行加載clojure.main

lein new luminus foobar 

,當我嘗試用這樣的領班運行:

foreman start 

該文檔描述的方式,我得到這個錯誤:

Error: Could not find or load main class clojure.main 

這也是同樣的錯誤,我從Heroku的獲得。該Procfile創建模板包含此:

web: java $JVM_OPTS -cp target/foobar.jar clojure.main -m foobar.core 

這是怎麼回事,如何解決呢?

回答

7

我最好的猜測是您需要使用命令lein uberjar來構建項目。這個序列的工作原理:

$ lein new luminus foobar 
Retrieving ... 
Generating a Luminus project. 

$ cd foobar 
$ lein uberjar 
Retrieving ... 
Compiling foobar.session 
Compiling foobar.layout 
Compiling foobar.handler 
Compiling foobar.routes.home 
Compiling foobar.core 
Compiling foobar.middleware 
Created /home/ba/foobar/target/foobar-0.1.0-SNAPSHOT.jar 
Created /home/ba/foobar/target/foobar.jar 

$ cat Procfile 
web: java $JVM_OPTS -cp target/foobar.jar clojure.main -m foobar.core 

$ java $JVM_OPTS -cp target/foobar.jar clojure.main -m foobar.core 
2015-Jun-22 06:30:42 -0400 ba INFO [foobar.handler] - 
-=[ foobar started successfully nil ]=- 
2015-06-22 06:30:42.998:INFO:oejs.Server:jetty-7.x.y-SNAPSHOT 
2015-06-22 06:30:43.028:INFO:oejs.AbstractConnector:Started [email protected]:3000 
+1

是的,這是正確的。我錯過了。謝謝。 – Pablo

0

關於Luminus公司和Procfile, 看到this diff

上游固定的,但你可以通過它來改變你Procfile修復它在你的應用程序:

web: java $JVM_OPTS -cp target/foobar.jar clojure.main -m foobar.core 

到:

web: java $JVM_OPTS -cp target/uberjar/foobar.jar clojure.main -m foobar.core 
相關問題