您是不是指定sourcepath?這告訴編譯器在哪裏找到它需要導入的類。
javac -sourcepath src -d classes src\testFile\TestABC.java
注意,這個編譯不僅僅是TestABC.java,但ABC.java以及(因爲你import
語句)。
然後,您可以把班級到歸檔使用jar
命令:
jar cfe myJavaArchive.jar testFile/TestABC -C classes .
這將Ç reate新的JAR與˚F ilename myJavaArchive.jar和Ë ntrypoint testFile/TestABC由類目錄中的所有文件製成。
因爲它是入口點,TestABC必須有一個main
方法,例如,
package testFile;
import objectFile.ABC;
public class TestABC {
public static void main(String[] args) {
ABC abc1 = new ABC(1);
ABC abc2 = new ABC(2);
System.out.println("abc1.i is " + abc1.getI());
System.out.println("abc2.i is " + abc2.getI());
}
}
和
package objectFile;
public class ABC {
private int i;
public ABC(int i) {
this.i = i;
}
public int getI() {
return i;
}
}
然後你可以使用java -jar
命令執行代碼:
java -jar myJavaArchive.jar
這應該工作。你如何編寫你的課程?你使用的IDE(如NetBeans或eclipse)?嘗試清理你的項目(刪除_.class_文件),並重新編譯(編譯)它。 –
不使用CMD(必需),試圖清理它們,但仍然沒有工作 – WaterMokou