【问题标题】:package does not exist error!包不存在错误!
【发布时间】:2011-10-03 16:07:30
【问题描述】:

我在根目录下有一个类似com/example/web 的目录结构,其中包含一个java 文件Bear.java。我在与上述相同的根目录中的目录结构com/example/model 中有另一个java 文件BearExtra.java。我正在从Bear.java 调用BearExtra.java 中的一个方法,我收到包不存在的错误消息。

我在我的 java 文件中导入了 com.example.model 包。能给我一些建议吗?

【问题讨论】:

  • 你能告诉我们你的代码吗?
  • 编译器真的说package does not exist error!!吗?

标签: java import packages


【解决方案1】:

这行得通:

com/example/model/BearExtra.java

package com.example.model;

public class BearExtra {
  public static void go() {
    System.out.println("Yay, it works!");
  } 
}

com/example/web/Bear.java

package com.example.web;

import com.example.model.*;

public class Bear {
  public static void main(String[] args) {
    BearExtra.go();
  }
}

现在,要编译和运行这些类,请转到您可以“看到”com 文件夹的目录并执行以下操作:

*nix/MacOS

javac -cp . com/example/model/*.java com/example/web/*.java
java -cp . com.example.web.Bear 

窗口

javac -cp . com\example\model\*.java com\example\web\*.java
java -cp . com.example.web.Bear 

以下内容正在打印到控制台:

Yay, it works!

【讨论】:

  • 对于在终端上编译的其他人,请确保您的 javac 位于最父目录中。一个例子:thejavageek.com/2013/07/21/… 这个答案有解决方案。我想强调这个场景。
【解决方案2】:

您是否在类文件中指定了“包”?

熊.java

package com.example.web;

import com.example.model.*;

class Bear { ...

BearExtra.java

package com.example.model;

public class BearExtra { ...

【讨论】:

  • BearExtra 类是公开的吗?
  • 需要更多代码/编译器输出。您需要将问题信息做得更详细。
  • 你为什么不使用任何可用的IDE? IDE 将简化编译和导入正确包的工作。
  • @Rakesh,我认为这不是针对我的,所以最好针对这个问题发帖,不是吗? (我正在使用 Eclipse...)另外最好了解 IDE 在做什么。
猜你喜欢
  • 1970-01-01
  • 2014-10-02
  • 2016-06-01
  • 2018-06-21
  • 2020-03-13
  • 2015-06-20
  • 2018-07-31
  • 2016-10-09
相关资源
最近更新 更多