Maven可以将WAR打包为.tar.gz吗?

问题描述 投票:1回答:1

我正在Maven中构建WAR应用程序,我需要将其部署到Docker。问题是docker不支持zip格式(但可以使用.tar.gz或.tar.xz)。

所以,如何将我的mywebapp-1.0.0.war打包为mywebapp-1.0.0.tar.gz

我们有此要求,因此可以更轻松地对Docker映像执行强化步骤。

我尝试使用Assembly插件,它产生了target/mywebapp-1.0.0.tar.gz。但是,最终将整个WAR文件放置在.tar.gz文件中,而不是其内容中。这是我的assembly.xml文件:

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0
                      http://maven.apache.org/xsd/assembly-2.0.0.xsd">
  <id>distribution</id>
  <formats>
    <format>tar.gz</format>
  </formats>
  <fileSets>
    <fileSet>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>target/mywebapp-1.0.0.war</include>
      </includes>
    </fileSet>
  </fileSets>
</assembly>
maven docker packaging
1个回答
0
投票

尽管我发现要求很奇怪(应用程序服务器应该解包您的战争,而不是您),但我想可以通过在target中放置用于构建战争的目录来实现。

在打包步骤之前,所有用于战争的文件都收集在目标下面的目录中(我忘记了名称,但是应该很容易进行反向工程)-只需使用组装插件将目录打包。

© www.soinside.com 2019 - 2024. All rights reserved.