maven wildfly 插件使用分类器部署工件

maven wildfly plugin deploy artifact with classifier

Maven WildFly 插件未使用分类器部署工件。

    <profile>
        <id>development</id>
        <activation>
            <property>
                <name>env</name>
                <value>dev</value>
            </property>
        </activation>
        <properties>
            <project.stage>Development</project.stage>
        </properties>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <configuration>
                     <classifier>development</classifier>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                    <configuration>
                        <classifier>development</classifier>
                        <skip>false</skip>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

当 运行

$ mvn clean install wildfly:deploy -P development

maven 插件一直在寻找没有分类器的工件然后抱怨找不到它。 deploy-artifact 也是如此。

deploy 没有 classifier 属性。如果您想使用不同的名称部署您的应用程序,您需要覆盖 filename 参数。类似于以下内容。

<profile>
    <id>development</id>
    <activation>
        <property>
            <name>env</name>
            <value>dev</value>
        </property>
    </activation>
    <properties>
        <project.stage>Development</project.stage>
    </properties>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                 <classifier>development</classifier>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <configuration>
                    <classifier>development</classifier>
                    <filename>${project.build.finalName}-development.war</filename>
                    <skip>false</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

但是 deploy-artifact 目标确实具有 classifier 属性。它直到 1.1.0.Alpha5 才被添加,所以你至少需要使用那个版本,最好是 1.1.0.Final