【问题标题】:maven adds version number to war - won't deploymaven 将版本号添加到战争 - 不会部署
【发布时间】:2013-02-04 20:02:02
【问题描述】:

我正在使用 maven 为 JBOSS AS 7 构建一个 war 文件。在 maven 部署之后,本地存储库中有“test.war”,远程存储库中有一个“test-2.war”。这一切都符合预期(2 是 POM 中的版本)。

如果我手动部署“test.war”,一切正常。如果我部署“test-2.war”,部署将失败。如果我将“test-2.war”重命名为“test.war”,则部署工作但尝试在浏览器中访问它会失败并出现错误:

type Status report

message /test/Test

description The requested resource (/test/Test) is not available.

既然两个 war 文件都是同一个 maven 构建和部署的结果,为什么重命名 -2 版本的工作方式与第一个不同?

有没有一种方法可以在不重命名的情况下部署 -2 版本,或者我可以做些什么来强制构建以便我可以重命名 -2 版本并进行部署?

我知道我可以使用 maven 的 jboss deploy,但这不是我的选择。我需要远程存储库中的 war 文件进行手动部署。

编辑:这里的基本问题是为什么我不能将文件 {artifactId}-{version}.war 重命名为 {artifactId}.war 并在 JBoss AS 7 中正确部署?

【问题讨论】:

    标签: java maven build jboss7.x


    【解决方案1】:

    你可以像这样重命名战争:

    <project>
      ...
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <warName>bird.war</warName>
            </configuration>
          </plugin>
        </plugins>
      </build>
      ...
    </project>
    

    <build>
      <finalName>bird.war</finalName>
     . . .
    </build>
    

    看看here

    【讨论】:

    • 我正在使用 ,这就是本地存储库名称为 test.war 的原因。根据我的阅读,这两个建议(warName 和 finalName)都不会影响远程存储库。我的经验证实了这一点。还有其他建议吗?
    • 你试过使用 jboss-web.xml 吗?并将那里的上下文根设置为“测试”?
    • 是的,我尝试使用带有 test 的 jboss-web.xml 文件,但没有帮助。
    猜你喜欢
    • 2012-11-22
    • 1970-01-01
    • 2013-02-09
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多