2014-04-24 147 views
0

我正在編寫一個java程序來將xlsx轉換爲csv文件。我有我使用這個 -創建jar文件時外部jar文件無法工作

vim ~/.bashrc 
export CLASSPATH="/path/to/file1":"/path/to/file2":"${CLASSPATH}" 

當我創造了我的程序的jar文件隨後又停止工作在類路徑設置永久性4〜5 jar文件,我再次得到錯誤

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

似乎與classpath有關的問題。現在如何解決這個問題? 下面是我在classpath-

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 
+0

你很可能仍然缺少一些jar文件。 Apache POI還有其他需要運行的依賴項。在這裏列出你的jar文件,有人可以提供幫助。 – tjg184

+0

您確定未找到的類是否位於您指定的JAR文件之一中? –

+0

是的,我在我的問題中列出了所有的jar文件。如果它不存在,那麼我的程序如何直接運行(無需創建jar文件) –

回答

0

環境變量「CLASSPATH」是獨立的Java運行時導出的jar文件。

對於指示jar文件的java類路徑,您將作爲參數發送。例如:

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代表你的主類的全名。

您將使用批處理文件運行您的應用程序。