2015-04-28 39 views
0

如何在Java中包含所有jar文件?我正在使用命令提示符。使用opencsv writer的Java classpath命令行

我的jar文件存储在C:\测试\ java中

jarfiles中是:

commons-io.jar, commons-lang.jar, opencsv.jar 

我的java程序也存储在C:\测试\ java中

我我在谷歌搜索,但似乎我找不到使用类路径的正确方法。

我目前在C:\测试\ java和使用这个命令

的javac -cp “公地io.jar;公地lang.jar; opencsv.jar。” JavaTest.java

而且它编译成功,但是当我运行java程序使用此行

的Java JavaTest

我在与opencsvWriter一个错误。

Exception in thread "main" java.lang.NoclassDefFoundError: au/com/bytecode/opencsv/CSVWriter 

我无法确定类路径是错误的还是作者写错了。

提前致谢!

+0

当您尝试添加相同的-cp在你的javac命令到你的Java命令,会发生什么? – Harvtronix

+0

WTH!有用!你真棒! – tuturyokgaming

+0

;)很酷。我会让它成为一个答案,然后 – Harvtronix

回答

0

javac命令不会将其他库链接到单个可执行文件,而不像c/C++链接程序如何使用目标文件。相反,你必须指定在classpath相同的类时,你去运行编译Java文件:

java -cp ".;commons-io.jar;commons-lang.jar;opencsv.jar;" JavaTest 

你可以任意捆绑的所有文件到一个单一的罐子,然后指定清单内的类路径文件位于新创建的jar中。

一些额外的阅读上,在这里:

Reference jars inside a jar

+0

感谢兄弟。真棒! – tuturyokgaming