2014-03-02 27 views
0

我想將兩個類文件添加到.jar文件。我正在使用命令:只有單個類文件被添加到jar

jar cfve CashFlow.jar cashFlowCalculator cashFlowCalculator.class cashFlowCalculator$1.class 

但是,這只是添加cashFlowCalculator.class文件,而忽略$ 1.class。甚至沒有任何錯誤,它從未被提及過。它不會被添加到.jar中。手動添加$ 1.class似乎可以解決程序未運行的問題。

這是與Oracle JDK 8,如果這是任何幫助。

+0

使用命令時,請確保文件的名稱沒有特殊符號或正確引用。 – 2014-03-02 20:57:57

回答

0

這與jar命令無關,但與命令行的工作方式有關。基本上,$ 1在命令行中被評估爲「Var 1」。所以,只要jar命令知道,你告訴它添加「cashFlowCalculator.class」兩次。不要相信我?在你的命令shell運行這個:

echo cashFlowCalculator.class cashFlowCalculator$1.class 

,你會看到

cashFlowCalculator.class cashFlowCalculator.class 

因爲$ 1的計算結果爲「空」,因爲它極有可能是不確定的。

相反,嘗試這條線的jar命令:

jar cfve CashFlow.jar cashFlowCalculator cashFlowCalculator.class cashFlowCalculator\$1.class 

這應該工作。

+0

謝謝。當網站讓我 –

+0

很高興幫助,並歡迎來到Stack Overflow時,我會將其標記爲已接受。 – ProgrammerDan

0

如果你使用的是eclipse,你可以去File> Export> Java> Runnable Jar ....然後用main方法選擇這個類。

+0

實際上並沒有解決OP問題,即jar命令不會將兩個文件都添加到他的jar中。一旦這兩個文件都在那裏,它運行良好。 – ProgrammerDan