我有以下assembly.xml。我试图找出包含文件的方式,我可以将它们重命名为其他内容。目前,我的tar将war文件作为project-1.0.0.0.war,我希望它是project.war。我怎么能做到这一点?
<assembly>
<id>${version}-tar</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<baseDirectory>project-${version}</baseDirectory>
<fileSets>
<fileSet>
<directory>target</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>project-${version}.war</include>
</includes>
</fileSet>
<fileSet>
<directory>etc/bin</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>start</include>
<include>stop</include>
</includes>
</fileSet>
</fileSets>
答案 0 :(得分:1)
答案 1 :(得分:1)
如果要控制程序集中文件的目标名称,则不应使用<fileSet>
,而应使用<file>
。原因是第一个将几个文件组合在一起,因此,没有提供控制组中每个文件名称的方法。由于<file>
仅定位单个文件,因此您可以使用<destName>
元素控制目标名称:
在outputDirectory中设置目标文件名。默认值与源文件的名称相同。
你应该改为:
<files>
<file>
<source>target/project-${version}.war</directory>
<destName>project.war</destName>
</file>
</files>
<!-- the other "fileSets" for etc/bin, unchanged -->
而不是<fileSet>
。这将确保<source>
元素中指定的文件在生成的程序集中重命名为<destName>
。