Windows 10 で、IntelliJ IDEA Community 2019.2 を使い始めた者です。
Java も gradle も完全に初心者です。
コンパイル時のエラーメッセージの文字化けで困っています。
Java
1// HelloWorld1.java 2package chapters.introduction; 3 4import org.slf4j.Logger; 5import org.slf4j.LoggerFactory; 6 7public class HelloWorld1 { 8 public static void main(String[] args) { 9 10 Logger logger = LoggerFactory.getLogger("chapters.introduction.HelloWorld1"); 11 Logger.debug("Hello world."); 12 } 13}
ソースの内容はあまり関係ないのですが、このソースをコンパイルすると、
以下のようにエラーメッセージが文字化けします。
ただし、(IDEの中の)ターミナルタブで、gradlew を叩くとちゃんと表示されます。
[設定]>[エディター]>[ファイル・エンコーディング]は以下のようになっています。
- グローバル・エンコーディング:<システム・デフォルト:windows-31j>
- プロジェクト・エンコーディング:<システム・デフォルト:windows-31j>
- プロパティファイルのデフォルトエンコード:<システム・デフォルト:windows-31j>
前述のターミナル上で chcp を叩くと「現在のコード ページ: 932」となるので、
それなりに整合が取れているようにも思えます。
何かお心当たりがありましたら、アドバイスをお願いします。
参考までに build.gradle も付けます。
最終行は付けても付けなくても症状は変わらないようです。
groovy
1// build.gradle 2plugins { 3 id 'java' 4} 5 6group 'demo' 7version '1.0-SNAPSHOT' 8 9sourceCompatibility = 1.8 10 11repositories { 12 mavenCentral() 13} 14 15dependencies { 16 compile 'org.slf4j:slf4j-api:1.7.+' 17 compile 'ch.qos.logback:logback-classic:1.2.+' 18 19 testCompile group: 'junit', name: 'junit', version: '4.12' 20} 21tasks.withType(AbstractCompile)*.options*.encoding = tasks.withType(GroovyCompile)*.groovyOptions*.encoding = 'UTF-8'
【2019/09/02 追記】
IDEA の Terminal 上でいろいろとお試し中です。何かのご参考になれば:
-
Terminal のプロンプトは C:\Users\hotta のようになるので、PowerShell じゃなくて cmd.exe が呼ぼれている模様?
-
この状態でも > javac HelloWorld2.java だとエラーメッセージが日本語になる。Windows のシステムロケールを参照している(らしい)?
-
javac -J-Duser.language=en HelloWorld2.java だとエラーメッセージが英語になる。
-
[File]-[Settings]-[Compiler]-[User-local build process VM options] に -J-Duser.language=en を入れても [Build Output] の出力は英語にならない。正確には
(ソースパス).java 1 error ← ここは英語
<文字化けメッセージ> ← ここは文字化け -
[File]-[Settings]-[Compiler]-[Java Compiler]-[Additional command line parameters: に -J-Duser.language=en を入れても前項と同じ状況。
-
Build ペインを見ると
Task :compileJava FAILED
となっているので、gradle 経由で呼ばれている模様?
- [File]-[Settings]-[Build, Execution, Deployment]-[Build Tools]-[Gradle]-(Gradle project)-(プロジェクト名)-[Build and run using]が[Gradle(Default)]になっていたので試しに[IntelliJ IDEA]
に変えてみたら
Error:Abnormal build process termination:
"D:\Program Files\AdoptOpenJDK\jdk-11.0.4.11-hotspot\bin\java.exe"(以下、非常に長いコマンドラインの後に)
Unrecognized option: -J-Duser.language=en
となった。オプションの中を見ると -Duser.language=ja といったものがあるので指定方法が違うらしい。
まだ解決してないですが、この「非常に長いコマンドライン」で IDEA 自体が起動時にどのようなファイルを見に行っているかがわかって興味深いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/10 07:31
2024/01/20 20:38