Java 带有 opencsv 编写器的类路径命令行

Java classpath command line with opencsv writer

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

我的jar文件存放在C:\test\java

jarfiles 是:

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

而我的java程序也存放在C:\test\java

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

我目前在 C:\test\java 并使用此命令

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

编译成功,但是当我 运行 我的 java 程序使用这一行时

Java JavaTest

我在使用 opencsvWriter 时遇到错误。

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

我无法确定是类路径错误还是编写器错误。

提前致谢!

javac 命令不会 link 将库合并到单个可执行文件中,这与 c/c++ linker 对目标文件的处理方式不同。相反,当您转到 运行 已编译的 java 文件时,您必须在类路径中指定相同的 类:

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

您可以选择将所有文件捆绑到一个 jar 中,然后在位于新创建的 jar 中的清单文件中指定您的类路径。

在此处进行一些补充阅读:

Reference jars inside a jar