为什么在本地运行良好的我的应用程序在Heroku上崩溃?

时间:2019-02-11 20:26:38

标签: java heroku shared-libraries classnotfoundexception

因此,我有这个应用程序,该程序在本地运行时很有趣,但在Heroku上却没有。

在部署和运行后查看日志文件时,出现以下错误:

2019-02-11T20:19:53.000000+00:00 app[api]: Build succeeded
2019-02-11T20:19:56.249701+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -cp target/classes:target/dependency/* com.name.app.Main`
2019-02-11T20:19:57.813257+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2019-02-11T20:19:57.816510+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8
2019-02-11T20:20:12.984296+00:00 heroku[web.1]: State changed from starting to crashed
2019-02-11T20:20:12.906580+00:00 app[web.1]: Exception in thread "Thread-0" java.lang.NoClassDefFoundError: com/name/my-library/utils/NetworkUtils
2019-02-11T20:20:12.906761+00:00 app[web.1]: at com.name.app.UpdateThread.update(UpdateThread.java:35)
2019-02-11T20:20:12.906837+00:00 app[web.1]: at com.name.app.UpdateThread.run(UpdateThread.java:25)
2019-02-11T20:20:12.906974+00:00 app[web.1]: Caused by: java.lang.ClassNotFoundException: com.name.my-library.utils.NetworkUtils
2019-02-11T20:20:12.907044+00:00 app[web.1]: at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
2019-02-11T20:20:12.907114+00:00 app[web.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
2019-02-11T20:20:12.907183+00:00 app[web.1]: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
2019-02-11T20:20:12.907312+00:00 app[web.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2019-02-11T20:20:12.907318+00:00 app[web.1]: ... 2 more
2019-02-11T20:20:12.968687+00:00 heroku[web.1]: Process exited with status 0

很明显,它找不到正在使用的类。现在,该类已存在,而不是存在于应用程序本身中,而是存在于我在GitHub上发布的库中。我正在使用Maven包括依赖项。正如我所说,这些项目也可以使用GitHub上的库在本地正常运行。

编辑:只是告诉您。部署过程正在正常进行(在这种情况下,我没有收到有关库依赖项的错误)。

0 个答案:

没有答案