mvn clean compile可以运行,但mvn install在编译时失败了。

5
当我在我的项目上运行mvn clean compile时,我得到了一个构建成功的结果。
但是当我紧接着运行mvn install时,由于编译错误,我得到了构建失败的结果。
我收到的错误信息是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project auto-tests: Compilation failure: Compilation failure:

我在我的pom.xml文件中有以下内容:
<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <encoding>UTF-8</encoding>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>

并且

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
</dependency>

由于无法找到位于另一个模块中的类,因此出现了故障。这些类的依赖关系已添加到我的pom文件中,而intellij从未抱怨过它们。
我是否漏掉了什么?

实际的编译错误是什么? - matt forsythe
返回的错误是:包com.xx.xxx.xxxservice不存在。 - user3194793
有趣的是,在IntelliJ中一切都构建得很好,我从来没有遇到过这些包抱怨的情况,因为我的pom.xml文件中有一个依赖项。只有当我尝试从命令行运行测试时,它才会抛出此错误。 - user3194793
这可能的原因是IntelliJ可能将所有依赖项合并为一个大的类路径,用于构建所有内容。Maven命令行构建具有单独的编译、测试编译和运行类路径。pom.xml文件中com.xx.xxx.xxxservice的<dependency>条目是什么? - matt forsythe
2个回答

3

失败的是“testCompile”插件,它在“compile”和“install”之间的“test-compile”阶段中被调用。

所以基本上你的测试源代码无法编译。


那我该如何解决我的问题呢?任何指导或帮助都将不胜感激。 - user3194793
你应该在Maven输出中详细解释编译问题。无论如何,这只是一个编译问题。 - Tome
尝试运行 mvn site 命令以获取有关项目的其他信息。 - Joop Eggen

1

看起来你可能在测试中遇到了编译错误(这些测试不会在正常的compile阶段被编译)。没有完整的pom文件和源代码很难确定具体位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接