12

BOMを持つ UTF-8 として保存されたファイルを使用して Maven Java プロジェクトをコンパイルしようとしていますが、と の両方がに設定されているにもかかわらず、 の BOM 文字から不正な文字エラーが発生します。project.build.sourceEncodingencodingmaven-compiler-pluginUTF-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>

プラグイン:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>
4

4 に答える 4

12

UTF-16 ではなく UTF-8 である場合、BOM はまったく役に立ちません。なぜそこに入れられているのですか?また、ここで文句を言っているのは Java だけです。Maven ではありません。

JDK-4508058 を確認してください: UTF-8 エンコーディングは、関連する初期 BOM を認識しません 。

于 2013-07-09T18:30:09.527 に答える
6

これは、メモ帳を使用して Java クラスを開いた後に発生しました。これにより、ファイルのエンコーディングが変更されました。

私がした簡単なトリックはこれです:

  1. Android Studio/Eclipse からクラスを開きます
  2. Ctrl + A、次に Ctrl + X
  3. 空のクラスを今すぐ削除する
  4. 同じ名前で新しいクラスを作成します
  5. Ctrl + V コード
  6. 終わり
于 2016-02-18T08:23:54.143 に答える