不同包导入报错

Different package import error

我有一个 java 项目,它有两个包 'a' 和 'b'。 'a'中的一个class依赖于'b'中的一个class,我编译了'b'中的class(使用javac classname.java) 但是当我尝试在 'a' 中编译我的 class 时,无法识别包 'b'。我使用如下一行显式导入它:

import b.*;

我在网上看到要给出完整的包名称,鉴于我的两个包都直接位于 src 文件夹下,我想这就是我在导入语句中所做的。

有人知道如何解决这个问题吗? 提前致谢

您可能正在做的是从包文件夹本身进行编译。如果是这样,那么您将需要退出目录以便进入源目录,然后使用以下命令进行编译:

javac a/ClassInA.java

其中 "ClassInA" 是 "a" 包中 class 的名称。

以下是您遇到的错误。

C:\Users\id831496\Desktop\New folder\a>javac ClassA.java
ClassA.java:3: package b does not exist
import b.*;
^
ClassA.java:5: cannot find symbol
symbol  : class ClassB
location: class a.ClassA
ClassB classB = null;
^
2 errors

需要做的是添加一个类路径参数,如下所示

C:\Users\id831496\Desktop\New folder\a>javac -cp ..\b\* ClassA.java

C:\Users\id831496\Desktop\New folder\a>