当从命令行运行应用程序时,我得到以下信息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
at com.poker5o.Main.main(Main.java:39)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)应用程序编译得很好,即使我指定了json jar的类路径,仍然得到相同的错误。
root@poker5o:/usr/local/poker5o/SignalChannel# ls
com json-20190722.jar
root@poker5o:/usr/local/poker5o/SignalChannel# java -cp . com.poker5o.Main
Allocating server socket for the server
Sending parameters to DoListen
Back from DoListen
Setting up read/write buffers
Back from SetBuffers
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
at com.poker5o.Main.main(Main.java:39)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more发布于 2020-03-20 18:36:40
我设法通过提取json JAR解决了这个问题,所以现在我有了:
com & org目录在我的工作目录中。我总是需要提取jars吗?
我是否总是必须将我的应用程序放在代表全名的同一路径中?com.poker5o.Main...?如果我想捆绑所有东西,比如分布式应用程序,有没有好的方法呢?
https://stackoverflow.com/questions/60772209
复制相似问题