環境
OS windows11
Gradle Version 7.4.2
Java Version 18.0.1.1
原因
環境変数"JAVA_TOOL_OPTIONS"の文字コードとコマンドプロンプトの文字コードが違う。
C:>gradlew.bat -p app run
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=Shift-JIS ← ➊JAVAの文字コードはShift-JISが設定される。
> Task :app:compileJava FAILED
C:\Users\�^�ߗ䂠����\Desktop\cmx-master\app\src\main\java\cmx\examples\App.java:30: �G���[: �s�K���Ȍ^: URI��URL�ɕϊ��ł��܂���:
uri = (getClass().getResource("/KIRAKIRA.MID")).toURI();
^
C:\Users\�^�ߗ䂠����\Desktop\cmx-master\app\src\main\java\cmx\examples\App.java:37: �G���[: File�ɓK�ȃR���X�g���N�^��������܂���(URL)
path =(new File(uri)).getPath();
^
�R���X�g���N�^ File.File(String)�͎g�p�ł��܂���
(�����̕s��v: URL��String�ɕϊ��ł��܂���:)
�R���X�g���N�^ File.File(URI)�͎g�p�ł��܂���
(�����̕s��v: URL��URI�ɕϊ��ł��܂���:)
�m�[�g:�ꕔ�̃��b�Z�[�W�͊ȗ�������Ă��܂��B-Xdiags:verbose�ōăR���p�C�����Ċ��S�ȏo�͂�擾���Ă�������
�G���[2��
・
・
・
BUILD FAILED in 1s
1 actionable task: 1 executed
C:>chcp
Active code page: 65001 ←➋コマンドプロンプトではUTF-8が設定されている。
解決
C:>set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 ←➊これを実行。
C:>gradlew.bat -p app run
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
> Task :app:compileJava FAILED
C:\Users\UserName\Desktop\cmx-master\app\src\main\java\cmx\examples\App.java:30: エラー: 不適合な型: URIをURLに変換できません:
uri = (getClass().getResource("/KIRAKIRA.MID")).toURI();
^
C:\Users\UserName\Desktop\cmx-master\app\src\main\java\cmx\examples\App.java:37: エラー: Fileに適切なコンストラクタが見つかりません(URL)
path =(new File(uri)).getPath();
^
コンストラクタ File.File(String)は使用できません
(引数の不一致: URLをStringに変換できません:)
コンストラクタ File.File(URI)は使用できません
(引数の不一致: URLをURIに変換できません:)
ノート:一部のメッセージは簡略化されています。-Xdiags:verboseで再コンパイルして完全な出力を取得してください
エラー2個
・
・
・
・
BUILD FAILED in 1s
1 actionable task: 1 executed
C:>chcp 65001 ←➋念の為コマンドプロンプトの文字コードをUTF-8に設定。
Active code page: 65001
参考
https://stackoverflow.com/questions/9842134/setting-java-opts-globally-on-windows
https://www.javadrive.jp/command/display/index5.html
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/troubleshoot/envvars002.html