[color=darkred][size=medium]原文链接地址是:[/size][/color][url]http://marshal.easymorse.com/archives/1733[/url]
解决maven构建项目时空目录的复制问题
默认情况下,maven构建软件制品的时候,是忽略空目录的。比如有一个web项目,如果webapp下有空目录,那么打war包或者部署到应用服务器上,都不会复制空目录。这样可能会带来问题。比如想在WEB-INF目录下创建一个logs目录用于日志文件。在编写代码的时候该目录应该是空的。
一个最简单的办法是在空目录下创建一个用于占位的文件。但是这种做法不够完美。
下面以一个web项目为例,说明怎么复制空目录:
[img][/img]
需要在maven的pom.xml文件中加入对resources插件的特定配置:
源代码见:
解决maven构建项目时空目录的复制问题
默认情况下,maven构建软件制品的时候,是忽略空目录的。比如有一个web项目,如果webapp下有空目录,那么打war包或者部署到应用服务器上,都不会复制空目录。这样可能会带来问题。比如想在WEB-INF目录下创建一个logs目录用于日志文件。在编写代码的时候该目录应该是空的。
一个最简单的办法是在空目录下创建一个用于占位的文件。但是这种做法不够完美。
下面以一个web项目为例,说明怎么复制空目录:
[img][/img]
需要在maven的pom.xml文件中加入对resources插件的特定配置:
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
<outputDirectory>${basedir}/target/${project.artifactId}-${project.version}/WEB-INF/</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp/WEB-INF/</directory>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
源代码见:
http://easymorse.googlecode.com/svn/trunk/maven.empty.dir.demo