我的目录结构是:
ABC/src/com/example/model/a.java
ABC/src/com/example/web/b.java
a.java
的代码:
package com.example.model;
public class a {
// ...
}
b.java
的代码:
package com.example.web;
import com.example.model.*;
public class b {
// ...
}
我已将CLASSPATH
环境变量设置为Tomcat的servlet-api.jar
,因此我无需将其包含在javac
命令中。
现在a.java
编译得很好,但是当我编译b.java
时,它说“包com.example.model不存在”。
这是如何引起的,我该如何解决?我正在使用Ubuntu 10.10。
答案 0 :(得分:2)
将输出目录(ABC /类或类似)添加到javac类路径,以便javac可以找到类。
修改:
实际上,首选方法是添加-sourcepath选项,如AlexR所指出的那样。
这样,编译器将使用代码的当前源代替上次编译时的类文件。
答案 1 :(得分:1)
我猜您忘了添加-sourcepath
选项。您的编译器不知道源的位置,因此无法找到以前编译的a.class。如果添加此选项,您甚至可以仅编译b.java并自动编译a.java。
BTW根据java命名约定类名称以大写字母
开头答案 2 :(得分:0)
将ABC / src添加到classpath并尝试