Maven 分类器空罐子

Maven classifier empty jars

假设我们有多模块 maven 项目:

parent
|-module-a-jar
|-module-b-jar
|-web-module-c-war

有为父级指定的公共分类 pom.xml:

<pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <classifier>${my.project.classifier}</classifier>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <classifier>${my.project.classifier}</classifier>
                </configuration>
            </plugin>           
        </plugins>
    </pluginManagement>

假设我使用

构建项目
mvn clean package -Dmy.project.classifier=NIGHTLY

构建后 web-module-c-war 包含空文件夹而不是 jar 文件:

web-module-c-war
|-WEB-INF
  |-lib
    |-module-a-jar
    |-module-a-jar

你能告诉我如何解决这个问题吗?为什么会这样?

如果我从 maven-jar-plugin 配置中删除 classifier,它似乎工作正常。

谢谢

为什么不做这个呢?

  1. pom web-module-c-war :

    <groupId>xxxxx</groupId>
    <artifactId>xxxx</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <classifier>${my.project.classifier}</classifier>
    
    ..
    ..
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>module-a-jar</artifactId>
        <version>${project.version}</version> 
        <classifier>${my.project.classifier}</classifier>
    </dependency> 
    
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>module-b-jar</artifactId>
        <version>${project.version}</version> 
        <classifier>${my.project.classifier}</classifier>
    </dependency>