我在pom文件中有一个配置文件,如下所示:
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<application.domain>mydomain.com</application.domain>
<application.name>MyApp</application.name>
</properties>
</profile>
我在属性文件中读取了这个值,如下所示:
${application.name}
first.key =\u0627\u0644\u062E\u0627\u0635 \u0628\u0643 ${application.name} \u0627\u0633\u062A\u0645\u0631 \u0645\u0639 \u062D\u0633\u0627\u0628
second.key=\u061F ${application.name} \u0644\u064A\u0633 \u0644\u062F\u064A\u0643 \u062D\u0633\u0627\u0628 \u0639\u0644\u0649
它可以正常使用第一个键并且值被成功替换,但是使用第二个键和其他类似的键,它不起作用我不知道为什么,任何想法?
答案 0 :(得分:2)
在pom文件中添加以下插件后,它对我很好:
http://maven.apache.org/plugins/maven-resources-plugin/examples/encoding.html
答案 1 :(得分:1)
如果要使用Maven pom中的值替换属性文件中的应用程序名称,则必须:
您应该为资源过滤定义正确的文件编码(建议使用UTF-8,但无论如何,属性文件必须与您的ascii-7一样)。
答案 2 :(得分:0)
也许Maven过滤机制在Unicode转义上窒息。为什么不用UTF-8拼出来?
first.key =الخاص بك ${application.name} استمر مع حساب
second.key=؟ ${application.name} ليس لديك حساب على