maven - 作为插件参数的“用户属性”的 Maven 属性与作为同一参数的“默认”属性之间的区别
问题描述
一些 Maven 插件具有“编码”参数,该参数具有与之关联的属性,并且还具有也是属性的默认值。
<encoding>
User Property: encoding
Default: ${project.build.sourceEncoding}
看起来这两个属性做同样的事情:
<properties>
<encoding>UTF-8</encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
这种冗余是否有原因?作为插件参数的“用户属性”的属性和作为同一参数的“默认”属性之间有区别吗?
解决方案
两者不等价。
project.build.sourceEncoding
指所有源文件的编码。这包括资源。encoding
特定于 Java 源文件的编码。