多次`maven-jar-plugin`执行导致编译问题

问题描述 投票:0回答:1

我有一个多模块 Maven 项目:

  • 项目根目录
    • 模块:
      main-application
    • 模块:
      additional-module
      - 取决于
      main-application

我正在使用

maven-jar-plugin
在构建
main-application
期间根据某个目录的内容编译其他 JAR 文件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <executions>
        <execution>
            <id>additional-jar</id>
            <phase>test-compile</phase>
            <goals>
                <goal>test-jar</goal>
            </goals>
            <configuration>
                <testClassesDirectory>${project.build.directory}/extra-classes-input</testClassesDirectory>
                <outputDirectory>${project.build.directory}/extra-classes-output</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

当我

clean test-compile
项目时,我在
additional-module
中收到编译错误,在
main-application
中找不到任何测试范围的类:

  • package com.main.application
    不存在
  • cannot find symbol
    additional-module
    的测试类中引用
    main-application
    的测试中的任何内容

更具体地说,

testClassesDirectory
maven-jar-plugin
属性是编译失败和成功之间的拐点:

  • 不存在时,编译没问题
  • 设置后,编译失败

我正在尝试编译一个包含extra-classes-input代码的

附加
JAR,但看起来我正在修改
additional-module
尝试访问的测试类。

我不希望类路径上有额外 JAR 的任何内容,因此我无法为我想要构建的 JAR 添加其他模块。

我可能做错了什么?

java maven maven-jar-plugin
1个回答
0
投票

因为我没有指定不同的

classifier
,所以输出会相互覆盖 - 我错过了一个警告。

© www.soinside.com 2019 - 2024. All rights reserved.