当我使用 Liberty 将我的 java 应用程序部署到 IBM Bluemix 时,buildpack 将其重命名为 myapp.war。如何保留我原来的 war 文件名?

When I deploy my java app to IBM Bluemix using Liberty, the buildpack renames it to myapp.war. How to retain my original war file name?

我创建了一个示例 java 应用程序并将其打包 JavaHelloWorldApp.war。

我使用命令 cf push MyHelloWorldApp -p JavaHelloWorldApp.war

将它部署到 IBM Bluemix

部署后,当我导航到已部署应用程序的运行时文件时,我看到 war 文件名显示为 myapp.war。请参阅下方 link 中的图像

我想保留原来的 war 文件名。因为我想在 war 文件名中编码我的应用程序版本详细信息,并希望保留它以供参考。如何实现?

推送 liberty 服务器包 zip 而不是 war

https://www.ibm.com/blogs/bluemix/2015/01/modify-liberty-server-xml-configurations-ibm-bluemix/

没有 Liberty 配置文件:

我可以通过部署 JavaHelloWorldApp.war 来保留 war 文件名。我列出了以下步骤:-

  1. 按照 Bluemix 文档中提供的步骤进行操作 https://console.ng.bluemix.net/docs/runtimes/liberty/optionsForPushing.html

    转到服务器目录部分 -> 然后按照以下步骤操作,如果您的工作站上未安装 Liberty 配置文件,您可以使用以下步骤为您的应用程序创建服务器目录...

  2. 按照此处列出的所有步骤进行操作。

  3. 最终默认服务器目录结构应该是这样的。

    我的 server.xml 如下所示

     <server>
        <featureManager>
            <feature>servlet-3.1</feature>
        </featureManager>
    
        <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="${port}">
            <tcpOptions soReuseAddr="true"/>
        </httpEndpoint>
    
        <application name="JavaHelloWorldApp" context-  
         root="/JavaHelloWorldApp" location="JavaHelloWorldApp.war"     
         type="war"/>
     </server>
    
  4. 现在部署 defaultServer 运行 命令: cf push -p defaultServer

  5. java 应用程序将部署到 Bluemix 和 war 文件名 将被命名为 JavaHelloWorldApp.war,与应用程序 war 文件相同
    name.Snapshot 以下 :-