基本上我是在學習一個可執行jar文件的編譯過程。因此,為此,在一個目錄中src\com\mftest,我有一個名為 的文件Test.java,其中包含以下內容。package com.mftest;public class Test{ public static void main(String args[]) { System.out.println("Hello from Test!"); }}現在,從主文件夾(一個包含src文件夾),我也有文件夾bin,我輸入javac -d bin src\com\mftest\Test.java. 這將創建文件bin\com\mftest\Test.class。然后,在文件夾中bin\com\mftest,我創建了一個Manifest.txt包含以下內容的文件。請注意,這里有兩行,第二行為空。Main-Class: com.mftest.Test在bin\com\mftest文件夾中,我現在鍵入jar cmvf Manifest.txt Test.jar *.class以創建文件bin\com\mftest\Test.jar. 我希望該文件是可執行的,但是當我嘗試通過鍵入運行它時java -jar Test.jar,出現以下錯誤。Error: Could not find or load main class com.mftest.TestCaused by: java.lang.ClassNotFoundException: com.mftest.Test任何想法,我在這里做錯了什么?
1 回答

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
在 bin\com\mftest 文件夾中,我現在輸入 jar cmvf Manifest.txt Test.jar *.class 來創建文件 bin\com\mftest\Test.jar
我想我看到了你的問題。
如果您運行,jar tvf Test.jar
我希望您會看到Test.class
JAR 文件中文件的路徑是"/Test.class"
. 應該是"/com/mftest/Test.class"
。
您的錯誤是將目錄更改為bin\com\mftest
. 您應該已經從bin
目錄中創建了 JAR 文件,以使 JAR 中的路徑名正確。
請注意,您包含在 JAR 中的清單文件可以在任何地方。您只需要在jar
命令中為其提供正確的(文件系統)路徑。
添加回答
舉報
0/150
提交
取消