maven打包的时候会忽略掉空文件夹,怎样配置让它不忽略
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven打包的时候会忽略掉空文件夹,怎样配置让它不忽略相关的知识,希望对你有一定的参考价值。
这个是我的目录结构,红框的地方是我创建的空文件夹,我想在打包的时候把这个空文件夹的目录结构都打包过去,但是实际发现红框的文件夹都没有生成,请教大神该如何配置让maven使用package打包命令的时候能够打包进去
我先上代码,主要 是 maven-war-plugin 有个includeEmptyDirectories参数 ,
注意:这个参数maven-war-plugin 2.4 的版本才支持
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<includeEmptyDirectories>true</includeEmptyDirectories>
</configuration>
</plugin>
</plugins>
</build> 参考技术A 看看能不能加参数吧。以前arj压缩的时候能加很多参数。其中一个就是连同空文件夹一起压缩。追问
那么应该如何进行配置呢
maven根据不同的environment打包配置
一、maven根据不同的environment打包配
一个项目里总会有很多配置文件。而且一般都会有多套环境。开发的、测试的、正式的。而在这些不同的环境这些配置的值都会不一样。
比如mail的配置、服务的url配置这些都是很常见的。
所以在打包的时候就要根据environment来选不同的值或者配置文件。
比较常用的办法就是为不同的环境建立不同的配置文件目录。在打包的时候用对应的文件目录下的配置文件。
|-- resources
| |-- dev
| |-- test
| |-- pro
在pom.xml里定义一个打包用的profile变量
1 <!-- 开发 --> 2 <profile> 3 <id>dev</id> 4 <properties> 5 <package.environment>dev</package.environment> 6 </properties> 7 </profile> 8 <!-- 测试 --> 9 <profile> 10 <id>test</id> 11 <properties> 12 <package.environment>test</package.environment> 13 </properties> 14 </profile> 15 <!-- 生产 --> 16 <profile> 17 <id>pro</id> 18 <properties> 19 <package.environment>pro</package.environment> 20 </properties> 21 </profile>
pom.xml引用profile变量
1 <plugin> 2 <artifactId>maven-war-plugin</artifactId> 3 <version>3.0.0</version> 4 <configuration> 5 <warSourceDirectory>src/main/webapp</warSourceDirectory> 6 <archive> 7 <addMavenDescriptor>false</addMavenDescriptor> 8 </archive> 9 <!--<warName>app</warName>--> 10 <webResources> 11 <resource> 12 <directory>src/main/resources/config/${package.environment}</directory> 13 <targetPath>WEB-INF/classes/config</targetPath> 14 <filtering>true</filtering> 15 </resource> 16 </webResources> 17 </configuration> 18</plugin>
org.apache.maven.plugins插件<webResources>动态指定参数${package.environment}对应文件夹下的文件到WEB-INF/classes下
注意:参数<filtering>true</filtering>,一定要设置成true这样才会用对应environment目录下的配置文件覆盖原来的
二、结合idea打包命令
1.本地开发打包命令
clean package -DskipTests -Pdev
2.生产环境打包命令
clean package -DskipTests -Ppro
以上是关于maven打包的时候会忽略掉空文件夹,怎样配置让它不忽略的主要内容,如果未能解决你的问题,请参考以下文章