Heroku App崩溃与NoClassDefFoundError:org / eclipse / jetty / server / Handler

时间:2014-03-10 03:25:22

标签: java web-applications heroku github travis-ci

我正在尝试在Heroku上运行一个应用程序。我在Travis上做CI并从中进行部署。我的代码位于https://github.com/santoshkt/cdetsd123

当我浏览heroku中的日志时,我看到了

2014-03-10T03:14:08.180220+00:00 heroku[web.1]: Starting process with command `j
ava $JAVA_OPTS -cp target/classes:target/dependency/* mytest.Main`
2014-03-10T03:14:10.692378+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS:  -Djav
a.rmi.server.useCodebaseOnly=true -Djava.rmi.server.useCodebaseOnly=true
2014-03-10T03:14:11.217814+00:00 app[web.1]: Exception in thread "main" java.lan
g.NoClassDefFoundError: org/eclipse/jetty/server/Handler
2014-03-10T03:14:11.286992+00:00 app[web.1]: Caused by: java.lang.ClassNotFoundE
xception: org.eclipse.jetty.server.Handler
2014-03-10T03:14:11.287150+00:00 app[web.1]:    at java.net.URLClassLoader$1.run
(URLClassLoader.java:217)
2014-03-10T03:14:11.287380+00:00 app[web.1]:    at java.net.URLClassLoader.findC
lass(URLClassLoader.java:205)
2014-03-10T03:14:11.287271+00:00 app[web.1]:    at java.security.AccessControlle
r.doPrivileged(Native Method)
2014-03-10T03:14:11.287380+00:00 app[web.1]:    at java.lang.ClassLoader.loadCla
ss(ClassLoader.java:321)
2014-03-10T03:14:11.287380+00:00 app[web.1]:    at sun.misc.Launcher$AppClassLoa
der.loadClass(Launcher.java:294)
2014-03-10T03:14:11.287645+00:00 app[web.1]:    at java.lang.ClassLoader.loadCla
ss(ClassLoader.java:266)
2014-03-10T03:14:11.296871+00:00 app[web.1]: Could not find the main class: myte
st.Main. Program will exit.

要在本地运行此软件,我使用mvn jetty:run命令,一切正常。顺便说一下,我在这个应用程序中使用maven + jetty。我正在尝试调试这个过去6个小时没有任何线索。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

我没有使用Main方法来启动服务器,而是使用下面的方法更改了Heroku的Procfile来解决这个问题。

web:    java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war

希望这可以帮助任何面临同样问题的人。