阅读maven个人资料属性的问题

时间:2011-05-12 13:07:15

标签: java spring spring-mvc java-ee maven

我在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

它可以正常使用第一个键并且值被成功替换,但是使用第二个键和其他类似的键,它不起作用我不知道为什么,任何想法?

3 个答案:

答案 0 :(得分:2)

在pom文件中添加以下插件后,它对我很好:

http://maven.apache.org/plugins/maven-resources-plugin/examples/encoding.html

答案 1 :(得分:1)

如果要使用Maven pom中的值替换属性文件中的应用程序名称,则必须:

  1. 在属性文件中使用@variable @ format!这是我理解的Maven变量。
  2. 激活资源的资源过滤(至少对您的属性文件而言)
  3. 您应该为资源过滤定义正确的文件编码(建议使用UTF-8,但无论如何,属性文件必须与您的ascii-7一样)。

答案 2 :(得分:0)

也许Maven过滤机制在Unicode转义上窒息。为什么不用UTF-8拼出来?

first.key =الخاص بك ${application.name} استمر مع حساب
second.key=؟ ${application.name} ليس لديك حساب على