我有一个使用Swing构建的GUI应用程序和一个名为GraphStream的第三方图形库(要包含2个JAR)。这可能是类路径问题,并且与库本身无关。
当我从Eclipse运行时,会出现GUI,并且没有错误/警告。
但是,当我尝试从命令行运行时,我收到NoClassDefFoundError,或者应用程序运行并且"挂起"无限期地加载库。这看起来完全是零星的。有时会打印错误,有时JVM会挂起。这就是我运行应用程序的方式:
java -verbose -classpath '../lib;.' -cp . bt_sim <args>
两个JAR文件位于&#34; ../ lib&#34;目录(那些是该目录中唯一的两个文件)。而且,我写的课程都在&#34;。&#34; - 实际引发错误时,这是输出:
... Other loading output from JVM debug ...
[Loaded java.util.IdentityHashMap$KeySet from C:\Program Files\Java\jre8\lib\rt.jar]
java.lang.NoClassDefFoundError: org/graphstream/graph/Graph
at bt_sim.main(bt_sim.java:70)
Caused by: java.lang.ClassNotFoundException: org.graphstream.graph.Graph
at java.net.URLClassLoader$1.run(Unknown Source)
当应用程序挂起时:
...
[Loaded java.util.Formatter$Flags from C:\Program Files\Java\jre8\lib\rt.jar]
[Loaded java.util.Formatter$Conversion from C:\Program Files\Java\jre8\lib\rt.jar]
[Loaded sun.misc.Cleaner from C:\Program Files\Java\jre8\lib\rt.jar]
即使我从Linux环境运行,也会发生同样的错误。在所有情况下,我都在运行JRE 8.在Eclipse中,从命令行运行时,只包含两个JAR文件(第三方图形依赖项)。 JAR文件位于&#34; lib&#34;我上面命令中的目录。关于调查什么的任何想法都会非常有用!
我的解决方案 我没有意识到我必须在类路径上明确地包含每个第三方JAR 。一旦我这样做,应用程序按预期执行: - /
答案 0 :(得分:1)
请注意,ReactDom
和ReactDOM.render(<Main />, document.getElementById('root'));
是别名:
-classpath
我怀疑当一起使用时,一个会覆盖另一个。相反,请使用包含所需平台的form目录和路径分隔符的https://api.jquery.com/delay/。