在/home/user/Downloads/
的Linux RedHat机器上,我mkdir proj
,cd proj
,mkdir lib
。
现在我想让我的java程序驻留在proj
包中,所以我有:
package proj;
import static proj.lib.Mathem.*;
public class MyJavaApp {
public static void main(String[] args) {
System.out.println("abc");
time = 2013;
}
}
我的图书馆位于proj.lib
子包中,所以我有:
package proj.lib;
public final class Mathem {
public static long time;
private Mathem() {}
}
如果我cd lib/
并执行javac *.java
,则Mathem.java
可以很好地编入Mathem.class
,但当我返回cd ..
并执行javac *.java
时,我得到错误说包proj.lib不存在。
请问你能帮助理解为什么java编译器看不到这么简单的包结构吗?
答案 0 :(得分:0)
听起来好像你在proj目录中失败了。您需要位于上面的目录中,即在您的示例中的/ home / user / Downloads中。然后输入“javac proj / MyJavaApp.java”
答案 1 :(得分:0)
有一种名为Classpath的东西...我建议你阅读它
答案 2 :(得分:-1)
尝试在Mathem中添加一个public static long getTime()方法。