我保存了我的Java源文件,将其编码类型指定为UTF-8(使用记事本,默认情况下,记事本的编码类型为ANSI),然后我尝试使用以下命令编译它:
javac -encoding "UTF-8" One.java
Run Code Online (Sandbox Code Playgroud)
但它给出了一条错误消息"
One.java:1: illegal character: \65279
?public class One {
^
1 error
Run Code Online (Sandbox Code Playgroud)
还有其他方法,我可以编译吗?
这是来源:
public class One {
public static void main( String[] args ){
System.out.println("HI");
}
}
Run Code Online (Sandbox Code Playgroud) 我试图编译保存为UTF-8有一个文件Maven的Java项目BOM,但我正在逐渐从BOM字符,非法字符错误,尽管有两个我project.build.sourceEncoding还有encoding的中maven-compiler-plugin集来UTF-8.
我错过了额外的设置吗?我是否可以在不删除BOM的情况下进行编译(不允许对源进行任何更改,但我可以修改POM)?
错误:
java:C:\ code\main\src\test\java \net\initech\finance\FinanceTest.java:1:非法字符:\ 65279
财产:
<properties>
...
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...
</properties>
Run Code Online (Sandbox Code Playgroud)
插件:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)