Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有编译错误,但仍然无法在Maven上找到符号_Java_Maven - Fatal编程技术网

Java 没有编译错误,但仍然无法在Maven上找到符号

Java 没有编译错误,但仍然无法在Maven上找到符号,java,maven,Java,Maven,我有一个奇怪的问题。我在另一个模块中添加了一个接口,当我在我的IDE上运行它时,IDE编译得很好,一切都很好,但是当我执行mvn clean install时,我收到一个错误,说找不到符号MyInterface。以下是mvn清洁安装的日志: [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/path/to/MyClass.

我有一个奇怪的问题。我在另一个模块中添加了一个接口,当我在我的IDE上运行它时,IDE编译得很好,一切都很好,但是当我执行
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();
}

我甚至在where
MyClass.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的名称。