我有这个包。
admin.common.upper_case=Uma ou mais letras maiúsculas
在构建项目期间,此捆绑包已损坏。
admin.common.upper_case=Uma ou mais letras mai�sculas
为了解决问题,我们将此配置用于 maven-resources-plugin 即我们为属性扩展名添加了 nonFilteredFileExtension 标记。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>properties</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
此配置导致另一个属性文件出现问题,例如 build.properties :
build.version=${project.version}
static.url.version=${project.build.timestamp}
我们尝试使用此配置(即添加过滤器标记以过滤build.properties文件):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<filters>
<filter>properties/build.properties</filter>
</filters>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>properties</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
此外,我们尝试使用此配置以避免过滤当前捆绑包:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
<directory>src/main/resources</directory>
<!-- enable filtering -->
<filtering>true</filtering>
<excludes>
<exclude>${basedir}/src/main/resources/one.properties</exclude>
<exclude>${basedir}/src/main/resources/two.properties</exclude>
</excludes>
</resource>
</webResources>
</configuration>
</plugin>
问题是如何只允许过滤此属性文件 build.properties
答案 0 :(得分:0)
首先,您应该尝试通过Specifying a character encoding scheme修复问题的根源:
<project ...>
...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...
</properties>
..
</project>
执行所需操作的一种方法是指定要包含的文件和要排除的文件。来自documentation:
<project>
...
<name>My Resources Plugin Practice Project</name>
...
<build>
...
<resources>
<resource>
<directory>src/my-resources</directory>
<includes>
<include>**/*.txt</include>
</includes>
<excludes>
<exclude>**/*test*.*</exclude>
</excludes>
</resource>
...
</resources>
...
</build>
...
</project>
元素include
和exclude
也适用于path/to/abc.properties
等特定文件。