创建jar文件时外部jar文件无效

时间:2014-04-24 12:52:44

标签: java linux classpath

我正在用java编写程序将xlsx转换为csv文件。我有4到5个jar文件,我使用这个 -

在classpath中永久设置
vim ~/.bashrc
export CLASSPATH="/path/to/file1":"/path/to/file2":"${CLASSPATH}"

当我创建我的程序的jar文件时,它再次停止工作,我收到错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/xssf/usermodel/XSSFWorkbook

同样似乎与classpath相关的问题。现在该如何解决? 下面是我在classpath中导出的jar文件 -

commons-logging-1.1.3.jar
dom4j-1.6.1.jar
json-lib-2.4-jdk15.jar
jxl.jar
poi-3.10-FINAL-20140208.jar
poi-excelant-3.10-FINAL-20140208.jar
poi-ooxml-3.10-FINAL-20140208.jar
poi-ooxml-schemas-3.10-FINAL-20140208.jar
poi-scratchpad-3.10-FINAL-20140208.jar
xbean-2.3.0.jar

1 个答案:

答案 0 :(得分:0)

环境变量'CLASSPATH'独立于java运行时。

为了表明jar文件的java classpath,您将作为参数发送。例如:

java -cp  -.;/path/to/file1:/path/to/file2 -jar YourApp.jar

或者,您可以创建批处理文件并使用.bat文件(win)或.sh文件(linux)运行。 例如:

java -cp .;bin/* com.example.MainClass

复制包含应用程序的bin目录中的所有jar文件,com.example.MainClass表示主类的完整名称。

您将使用批处理文件运行您的应用程序。