在用Eclipse编译运行java文件时不用考虑Package的问题,但是如何在命令提示符下运行添加Package的java文件呢?
package test;
import test.B;
public class A {
public static void main(String[] args) {
B b = new B();
b.print();
}
}
package test;
public class B {
void print() {
System.out.println("ok!");
}
public static void main(String[] args) {
}
}
我在D:\workspace\test\src\test目录下有两个.java文件A.java和B.java,那么我该如何编译这两个文件呢?此时用命令提示符执行javac语句编译A.java会显示错误
我们在A中调用了B中的方法,所以只编译A,B是不会被编译的。要解决此问题需要同时编译A和B。而A和B同在test包下,所以我们找到test所在目录D:\workspace\test\src,在cmd中执行命令java .\test*.java。此时A和B两个文件同时编译通过了。
再用java命令去执行A,发现直接用java A来运行会报错。切换到A所在的D:/workspace/test/src/test目录下执行依然会报错。由于我们之前的编译的时候是在Package所在的目录,那么我执行的时候要执行test下的A文件。
在D:\workspace\test\src目录下执行java test.A,运行成功。