您是不是指定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