我对java很新,只是无法获得依赖外部库工作的java应用程序......
我有两个库和一个应用程序,都是从eclipse作为jar导出的。 注意:我不希望它们全部导出到同一个jar中,因为我希望在其他地方重新使用这两个库。
当我跑步时:
java -jar enix.cmd.events.jar
我明白了:
线程“main”中的异常java.lang.NoClassDefFoundError:enix / lib / events / errors / EventLogNotAvailableException
这显然意味着它没有enix.lib.events.jar的路径(如果重命名为zip文件包含文件enix / lib / events / errors / EventLogNotAvailableException.class) - 我然后设置classpath以各种方式如此:
java -cp ".;*.jar;enix.lib.events.jar" -jar enix.cmd.events.jar
但我得到同样的错误。 :( 我还有一个名为enix.gnome.events.jar的GUI应用程序,它依赖于/ usr / share / java和/ opt / libs / jars中的各种jar。
有人可以解释一下我的错误以及为什么,我将非常感激!谢谢!
答案 0 :(得分:2)
我建议,只列出你明确需要的每个罐子。按照惯例,你会看到大多数应用程序列出每个jar。
答案 1 :(得分:1)
在编译/运行具有多个jar的java应用程序时,我发现最简单的方法是将适用的jar添加到我的类路径中。这样,当您编译或运行程序时,所有适用的jar都可用。
有关在Windows / Unix / Linux中设置类路径的信息,请参阅http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html。