Java 没有编译错误,但仍然无法在Maven上找到符号
我有一个奇怪的问题。我在另一个模块中添加了一个接口,当我在我的IDE上运行它时,IDE编译得很好,一切都很好,但是当我执行Java 没有编译错误,但仍然无法在Maven上找到符号,java,maven,Java,Maven,我有一个奇怪的问题。我在另一个模块中添加了一个接口,当我在我的IDE上运行它时,IDE编译得很好,一切都很好,但是当我执行mvn clean install时,我收到一个错误,说找不到符号MyInterface。以下是mvn清洁安装的日志: [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/path/to/MyClass.
mvn clean install
时,我收到一个错误,说找不到符号MyInterface
。以下是mvn清洁安装的日志:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/path/to/MyClass.java:[5,37] cannot find symbol
symbol: class MyInterface
location: package path.to.where.interface.lives
[INFO] 1 error
[INFO] -------------------------------------------------------------
它抱怨的MyClass.java
行是:
导入path.to.where.interface.lives.MyInterface代码>
我的界面如下所示:
package path.to.where.interface.lives;
public interface MyInterface {
public void method();
}
我甚至在whereMyClass.java
lifes的pom文件中,将依赖项添加到了path.to.where.interface.lifes
包中,但我仍然看到了这个问题。我能够通过首先在整个项目上运行mvn clean install
来解决这个问题,由于我最初只在特定的模块上运行mvn clean install
。附带说明myInterface
应命名为myInterface
,myClass
应命名为myClass
。发布myClass.java
的代码。您是否检查了interface
是否为有效软件包组件,因为它是一个关键字。如果包名实际上是path.to.where.interface.lives
,则此包名无效,应重命名为类似于path.to.where.myinterface.lives的名称。