【问题标题】:Package does not exist?包不存在?
【发布时间】:2011-12-21 02:32:52
【问题描述】:

我的目录结构是:

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

【问题讨论】:

  • 你为什么不使用一些IDE?
  • 你使用的编译命令是什么
  • @JigarJoshi 我确实使用 eclipse...那里一切正常...但出于好奇,我尝试了上述方法,但没有成功!

标签: java compiler-errors package


【解决方案1】:

将 ABC/src 添加到您的类路径并尝试

【讨论】:

    【解决方案2】:

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

    编辑:

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

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

    【讨论】:

    • 按照 AlexR 的建议添加源路径可能会更好。这样编译器将能够找到尚未编译的类。
    【解决方案3】:

    我猜你忘记添加-sourcepath 选项。您的编译器不知道您的源代码在哪里,因此它找不到之前编译的 a.class。如果你添加这个选项,你甚至可以只编译 b.java 而 a.java 将被自动编译。

    顺便说一句,根据java命名约定类名以大写字母开头

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2013-11-21
      • 2021-03-05
      • 2020-08-21
      • 2022-01-16
      • 2019-10-16
      • 2013-05-10
      相关资源
      最近更新 更多