首页 文章

Wildfly部署Maven - 删除版本

提问于
浏览
2

我想使用wildfly-maven-plugin将我使用maven创建的战争部署到wildfly .


战争的最终名称如下: my-war-1.0.war
战争还包含 jboss-web.xml 指定 context root (例如/ my-war)


Problem Description

如果我现在将战争部署到野外飞行,我将获得 "my-war-1.0.war" deployment .
如果我后来想要部署一个新版本(例如,war现在命名为 my-war-1.1.war ),我会发现冲突,因为上下文根已经知道,但部署有一个新名称 .


是否有办法使用wildfly-maven-plugin来部署“my-war.war”?

我需要在maven构建中保留原始的最终构建名称,以便进行版本控制并部署到我们的nexus .

2 回答

  • 1

    最简单的解决方案是在 <build/> 配置上使用 <finalName/> 元素 .

    <build>
        <finalName>${project.artifactId}</finalName>
    </build>
    

    你可以使用maven war插件重命名最后的战争 . 对于Eg:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <warName>my-war</warName>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    这将始终在您的“目标”目录中生成名为my-war.war的战争 .

  • 3

    我发现我可以在maven-wildfly-plugin的 <configuration/> 中使用参数 <name/><runtimeName/> .

    这样我就可以指定应该在服务器上调用的部署,每次只需要替换它 . 让两个参数以 ".war" 结尾非常重要,否则会出现404错误 .

    使用此方法,我可以保留包含版本(my-app-1.0.war)的最终构建结果的原始名称,并将其存档在我们的内部nexus存储库中 .

相关问题