Maven - 如何包含空目录
默认情况下,在生成过程中,maven 会删除空目录。
您是否知道是否可以在 pom 中指定一个参数来指示 maven 在生成的 target/test-classes 文件夹中包含空目录?
默认情况下,在生成过程中,maven 会删除空目录。
您是否知道是否可以在 pom 中指定一个参数来指示 maven 在生成的 target/test-classes 文件夹中包含空目录?
根据这张票MRESOURCES-36,应该有一个元素,但仅适用于Maven Resources Plugin 2.3。<includeEmptyDirs>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
</plugin>
对于包含旧版资源插件的 Maven 版本:
在解决此问题之前,这是我已成功使用的解决方法。
将此插件元素添加到 中,然后更改 mkdir 任务中的 dir。project/build/plugins
pom.xml
多个目录可以有多个元素。如果资源插件已经复制了目录,则该任务不执行任何操作。
<mkdir>
mkdir
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>create-empty-directory</id>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${basedir}/target/classes/empty" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
为什么在目标/测试类下需要空文件夹?
另一方面,您可以使用汇编插件在zip / tar.gz文件中创建空文件夹。
只需在程序集描述符中创建一个引用现有文件夹的条目(在本例中为 src/main/resources/bin...
<fileSet>
<directory>src/main/resources/bin</directory>
<outputDirectory>/logs</outputDirectory>
<directoryMode>0755</directoryMode>
<excludes>
<exclude>*</exclude>
</excludes>
</fileSet>
上述内容也适用于.tar.gz和 zip 文件。仅当创建.tar.gz文件时,才需要上述目录模式。
第二种可能性是在文件夹结构中创建一个空文件夹,该文件夹包含在程序集插件中(如zip,tar.gz等)。...顺便说一句:zip,tar.gz允许空文件夹。