我想在我的Java程序中使用外部库(例如Google的Guava)。我使用Eclipse,所以我下载了Guava的jar(和源代码),然后跟着Adding a Java library to the project classpath将它添加到Eclipse和我项目的构建路径中。
这很好用:我可以从Eclipse和从Eclipse导出的runnable jar运行程序,但是当我尝试直接从bin/
目录运行时出现错误,就像我以前一样:
线程“main”中的异常
java.lang.NoClassDefFoundError:com / google / common / base / Joiner
我该怎么办?
答案 0 :(得分:1)
如果您直接从项目bin目录运行类文件,则可能需要手动指定类路径:
C:> java -classpath C:\java\MyClasses;C:\java\OtherClasses MyClassHere
答案 1 :(得分:1)
你必须告诉Java在哪里找到这个库:
java -cp <path-to-lib-jar>;myJar.jar my.package.MyMainClass
或者如果您想使用jar文件,可以在MANIFEST中设置库路径 检查here以获得解释。
答案 2 :(得分:0)
要在控制台上尽可能精确地运行程序,当您从Eclipse运行它时,需要从项目的根目录(而不是bin)运行它,并且不要忘记提及类路径({{ 3}})
因此,例如在root上你将运行:
java -classpath lib / guava.jar; bin packageName.className
答案 3 :(得分:0)
您是否尝试过java -cp guava.jar ...
?