我正努力讓我的Java程序在AIX上運行。我在Windows上使用Eclipse創建了一個可運行的Jar文件,下面是jRams.jar
。我一直在得到一個沒有找到類的錯誤,直到最後我把所有的外部庫放在同一個目錄下。即使jar文件在工作目錄中也找不到類
$ ls
JAXB2_20081030.jar
JAXB2_20110601.jar
activation.jar
asjava.jar
commons-beanutils-1.8.3.jar
commons-beanutils-bean-collections-1.8.3.jar
commons-beanutils-core-1.8.3.jar
commons-codec-1.5.jar
commons-collections-3.2.1.jar
commons-configuration-1.6.jar
commons-digester-2.1.jar
commons-jxpath-1.3.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
commons-logging-adapters-1.1.1.jar
commons-logging-api-1.1.1.jar
jRams.jar
jaxb-api.jar
jaxb-impl.jar
jaxb-xjc.jar
jaxb1-impl.jar
jremote.jar
jsr173_1.0_api.jar
log4j-1.2.16.jar
netty-3.2.4.Final.jar
$
不過,我得到了類未找到的錯誤。
$ java -jar jRams.jar
The java class is not found: com.jbase.jremote.JRemoteException
jremote.jar
肯定包含JRemoteException。爲什麼這不起作用?
UPDATE
感謝您直接到該點的答案。我現在明白了Java應用程序和清單文件的性質。
原來我的ftp客戶端在ASCII模式下傳輸,而不是二進制文件,所以jar文件被破壞了。儘管如此,我還是學到了很多東西。
當使用'-jar'選項時,'-classpath'選項被忽略。在'-jar'上的'man java':*當你使用這個選項時,JAR文件是所有用戶類的來源,而其他用戶類路徑設置被忽略* – aioobe