套餐不存在?

时间:2011-11-03 11:34:17

标签: java compiler-errors package

我的目录结构是:

  • 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。

3 个答案:

答案 0 :(得分:2)

将输出目录(ABC /类或类似)添加到javac类路径,以便javac可以找到类。

修改:

实际上,首选方法是添加-sourcepath选项,如AlexR所指出的那样。

这样,编译器将使用代码的当前源代替上次编译时的类文件。

答案 1 :(得分:1)

我猜您忘了添加-sourcepath选项。您的编译器不知道源的位置,因此无法找到以前编译的a.class。如果添加此选项,您甚至可以仅编译b.java并自动编译a.java。

BTW根据java命名约定类名称以大写字母

开头

答案 2 :(得分:0)

将ABC / src添加到classpath并尝试