如何阻止Maven覆盖资源文件
作者:互联网
我有默认的maven结构:
main
--java
--resources
--webapp
我看到每个mvn编译都会复制资源,即使它们没有被更改.
我该怎么做才能使构建副本只更改文件?
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
...
</dependencies>
<properties>
<maven.resources.overwrite>false</maven.resources.overwrite>
</properties>
这是调试模式下的输出:
[INFO] Using 'cp1252' encoding to copy filtered resources.
[DEBUG] resource with targetPath null
directory C:\core\src\main\resources
excludes []
includes []
[DEBUG] ignoreDelta true
[INFO] Copying 190 resources
[DEBUG] file batch.bat has a filtered file extension
[DEBUG] copy C:\core\src\main\resources\batch.bat to C:\core\target\classes\batch.bat
[DEBUG] file DataObject.hbm.xml has a filtered file extension
[DEBUG] copy C:\core\src\main\resources\com\data\DataObject.hbm.xml to C:\core\target\classes\com\data\DataObject.hbm.xml
解决方法:
在Maven命令上使用属性-Dmaven.resources.overwrite = false.请参阅resources:resources
目标的覆盖参数.
但是文档提到这是默认行为,因此请检查项目配置中某处是否将此参数设置为true.
编辑:
正如评论中所提到的,即使日志表示复制,实际上文件也没有被更改(当maven.resources.overwrite为false时,时间戳保持不变).
标签:java,maven,incremental-build 来源: https://codeday.me/bug/20190628/1314183.html