gpt4 book ai didi

java - 错误 : unmappable character for encoding UTF8 during maven compilation

转载 作者:IT老高 更新时间:2023-10-28 20:29:47 24 4
gpt4 key购买 nike

我正在使用 maven 编译一个包,它说构建失败并出现以下编译错误:

SpanishTest.java[31, 81] 用于编码 UTF8 的不可映射字符

我在网上搜索了很多人,将源编码从 UTF-8 更改为 ISO-8859-1 似乎可行,但我仍然遇到相同的编译错误。我正在使用 32 位 Ubuntu。这是该标签在我的 pom.xml 中的外观

<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>

即使我改变 <project.build.outputEncoding>标记为 ISO-8859-1,我仍然收到错误。可能是因为 java 版本吗?我的系统上同时安装了 Sun java 和 openjdk。

谁能告诉我该怎么做。

谢谢

最佳答案

将 maven-compiler-plugin 配置为使用与源文件编码相同的字符编码(例如):

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

默认情况下,许多 maven 插件将使用“project.build.sourceEncoding”属性,因此在您的 pom 中设置此属性将涵盖大多数插件。

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

但是,我更喜欢在每个支持它的插件配置中设置编码,因为我喜欢明确。

当您的源代码由 maven-compiler-plugin 编译时,您的源代码文件将由编译器插件使用编译器插件配置的任何编码读取。如果您的源文件的编码与编译器插件使用的编码不同,则可能某些字符可能在两种编码中都不存在。

很多人喜欢将源文件的编码设置为 UTF-8 以避免这个问题。要在 Eclipse 中执行此操作,您可以右键单击项目并选择 Properties->Resource->Text File Encoding 并将其更改为 UTF-8。这将以 UTF-8 对所有源文件进行编码。 (您还应该像上面提到的那样显式配置 maven-compiler-plugin 以使用 UTF-8 编码。)由于您的源文件和编译器插件都使用相同的编码,您在编译期间不应再有任何不可映射的字符。

注意,你也可以在eclipse中通过Window->Preferences->General->Workspace->Text File Encoding来全局设置文件编码。您还可以通过 Window->Preferences->General->Content Types 设置每种文件类型的编码。

关于java - 错误 : unmappable character for encoding UTF8 during maven compilation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com