有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

JAR文件是:

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

我的java程序也存储在C:\test\java上

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

我目前使用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

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

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    与c/c++链接器处理对象文件的方式不同,javac命令不会将其他库链接到单个可执行文件中。相反,在运行编译后的java文件时,必须在类路径中指定相同的类:

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

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

    以下是关于这方面的一些补充说明:

    Reference jars inside a jar