0

Java ファイルにハードコードされた UTF-8 文字列リテラルがあります。Eclipse はこのアプリケーションを正しくビルドするため、生成されるクラス ファイルにはこれらの文字列が UTF-8 で含まれます。ただし、ant build.xml を使用すると、生成されるクラス ファイルには、正しくないエンコーディングの文字列が含まれます。

javac タスクに encoding="UTF-8" を追加しようとしましたが、成功しませんでした。

どのように修正できますか?

ps 文字列リテラルをソース ファイルにハードコーディングするのは非常に悪い習慣であることは承知していますが、これは必要な場合であるため、リソース バンドルに抽出することは提案しないでください。

どんな助けでも大歓迎です

4

3 に答える 3

1

適切な方法は

<javac ... encoding="UTF-8" ... />

結果のクラス ファイルで文字列のエンコーディングが正しくない場合は、おそらくソース エンコーディングが UTF-8 ではないか、これらのファイルがjavac変更したタスクではなく、他のタスクによってコンパイルされていることを意味します。

于 2013-02-10T06:19:44.917 に答える
0

エンコーディングは、ファイルのエンコーディングと一致する必要があります。utf-8 の推測は正しくない可能性があります。iso-8859-1 など、他の適切なエンコーディング名を確認してください。

How do I set -Dfile.encoding within ant's build.xml? で賛成票の回答を確認してください。

于 2013-02-10T08:49:28.857 に答える