【发布时间】:2014-07-23 11:48:11
【问题描述】:
我想在使用 maven-assembly-plugin 进行打包时创建空目录结构。我成功地包含了所有文件,但没有创建空文件,
opt/SP/myprod/bin/* (contains files)
opt/SP/myprod/lib/* (contains files)
opt/SP/myprod/conf/* (contains files)
var/SP/myprod/run (Empty directories)
var/SP/myprod/log (Empty directories)
var/SP/myprod/tmp (Empty directories)
下面是我的汇编文件,
<id>stage</id>
<formats>
<format>tar.gz</format>
<format>zip</format>
</formats>
<fileSets filtered="true" encoding="UTF-8">
<fileSet>
<directory>${run.dir}</directory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${tmp.dir}</directory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${log.dir}</directory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/config</directory>
<outputDirectory>${install.dir}/config</outputDirectory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/bin</directory>
<outputDirectory>${install.dir}/bin</outputDirectory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/images</directory>
<outputDirectory>${install.dir}/images</outputDirectory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${basedir}/package-scripts</directory>
<outputDirectory>${install.dir}/package-scripts</outputDirectory>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>${install.dir}/lib</outputDirectory>
<includes>
<include>myfile.jar</include>
</includes>
<fileMode>755</fileMode>
</fileSet>
<fileSet>
<directory>${project.build.directory}/lib</directory>
<outputDirectory>${install.dir}/lib</outputDirectory>
<fileMode>755</fileMode>
</fileSet>
</fileSets>
所以,我尝试了其中一篇博客中推荐的简单“目录”标签,但没有成功。
谁能帮帮我?
【问题讨论】:
-
上次我不得不使用 maven 打包一个空目录时,我最终在其中留下了一个空文件名
DO_NOT_REMOVE(确保我永远不会有一个 real 文件里面的那个名字...) -
尝试为这些文件集定义
。 -
@SergeBallesta - 嗯,似乎是一个选择。已经尝试了 outputDirectory 标记,甚至指定了一个有效的目录,添加了一个排除过滤器。一切似乎都不是一个干净的解决方案。考虑添加 ant-run-plugin 并可以使用 ant 命令 mkdir 创建文件夹。
标签: java maven maven-plugin