【问题标题】:Maven Unicode Encoding build failureMaven Unicode 编码构建失败
【发布时间】:2012-12-01 11:45:57
【问题描述】:

我有一个测试在 Eclipse 中通过,但由于 unicode 问题在 Maven 中失败。测试使用这个字符:ä - 测试检查字符的长度,在 eclipse 中它是一个但 maven 将它转换为 2 个字符:├ñ。有谁知道我怎样才能让 maven 表现得与 eclipse 一样?

到目前为止,我已经尝试添加

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

到根目录和测试所在项目的 pom。另外,我尝试直接添加到 pom 的 maven 插件部分,如下所示:

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
    <!-- <version>2.1</version>-->
<configuration>
  <outputEncoding>UTF-8</outputEncoding>
</configuration>

Eclipse 设置为使用 UTF-8。我没有想法了。如果我有什么明显做错的地方,请告诉我。

为什么这在 Eclipse 中可以正常工作,但在 Maven 中不行?!

谢谢,

【问题讨论】:

  • 您是否确保包含ä 的文件以UTF-8 编码?例如,通过查看文件的十六进制转储。
  • 我如何确保这一点?比如我在哪里可以找到十六进制转储?我在 eclipse 中检查了文件,它被设置为 UTF-8...
  • 为什么不按照我的回答从源文件中删除 unicode 字符?
  • 源代码中字符的形式与用户的输入方式无关。除非您的用户输入的是实际的 java 源代码。
  • 我在十六进制编辑器中检查了对象,它确实是 0xC3 0xA4

标签: java eclipse maven unicode utf-8


【解决方案1】:

最好的办法是避免在源文件中使用 unicode 字符。而是使用 unicode 转义语法,即"\u00E4"

【讨论】:

  • 想解释一下否决票?即使 OP 没有意识到,我的回答是该问题的合法解决方案。
【解决方案2】:

尝试在插件的配置中进行设置:

<plugin>
    ...
    <configuration>
        ...
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

【讨论】:

  • 您好,感谢您的提示。我试过这个,它仍然失败。 也尝试过,但也失败了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 2020-10-21
  • 2010-11-26
  • 1970-01-01
  • 2021-07-02
  • 2014-07-12
  • 1970-01-01
相关资源
最近更新 更多