Vermeiden Sie Java-Codierungsfehler, die beim Ausführen von FitGen.exe unter japanischem Windows auftreten

TL;DR Setzen Sie die Umgebungsvariable "JAVA_TOOL_OPTIONS" auf "-Dfile.encoding = UTF-8".

環境変数_JAVA_TOOL_OPTIONS.PNG

Einzelheiten

Wenn Sie im GARMIN FIT SDK eine benutzerdefinierte Nachricht usw. definiert haben, müssen Sie FitGen.exe ausführen, um das FIT SDK zu generieren. https://developer.garmin.com/fit/cookbook/fitgen/

Im Dokumentkommentar von EventMesg.java des FIT SDK, das kürzlich von Garmin Developers verteilt wurde, und wenn FitGen.exe so ausgeführt wird, wie es ist, werden jedoch mysteriöse verstümmelte Zeichen gemischt

> .\FitGen.exe -o test -java
FIT Code Generator - Protocol 2.00  Profile 21.40Release
SDK Version: production/akw/21.40.00-0-g813c158
Parsing existing config.csv...
Writing new config.csv...
Generating Java code...
Building Java tools...0%
com\garmin\fit\EventMesg.java:679:Error:Dieses Zeichen kann nicht der Codierung von MS932 zugeordnet werden
     * Comment:Das Tetsu?erstes Tetsu?Byte?ist Tetsu?das Tetsu?radar_threat_level_max, das Tetsu?zweites Tetsu?Byte?ist Tetsu?das Tetsu?radar_threat_count, and das Tetsu?letzter Tetsu?16?Bits?sind Tetsu?reserviert?für Tetsu?Zukunft?verwenden?und Tetsu?sollte?sei tetsu?einstellen?nach Tetsu?FFFF.
                     ^
Folgendes wird weggelassen

Fehler tritt auf und der Build schlägt fehl.

Der Fehler "Dieses Zeichen kann nicht der Codierung MS932 zugeordnet werden" kann vermieden werden, indem eine geeignete Codierung wie UTF-8 an javac übergeben wird. Dies kann vermieden werden, indem die folgenden Optionen übergeben werden.

javac -encoding UTF-8 EventMesg.java

Im Fall von FitGen.exe wird der Javac-Aufruf jedoch in FitGen.exe ausgeführt, sodass Sie Optionen nicht direkt an Javac übergeben können.

Daher können Sie den Fehler vermeiden, indem Sie der Benutzerumgebungsvariablen von Windows, die FitGen.exe ausführt, JAVA_TOOL_OPTIONS hinzufügen und die Option angeben, die Sie an javac übergeben möchten.

https://docs.oracle.com/javase/jp/8/docs/technotes/guides/troubleshoot/envvars002.html https://qiita.com/n_slender/items/6c566bb345e844ba8127

Recommended Posts

Vermeiden Sie Java-Codierungsfehler, die beim Ausführen von FitGen.exe unter japanischem Windows auftreten
Hinweise zu Fehlern bei der Installation des JDK und zu versuchten Gegenmaßnahmen
Ruby on Rails-Lernprogramm Problematische Hinweise unter Windows
Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen
Zeigt einen detaillierten Fehler in Logger an, wenn Java auf dem Server ausgeführt wird
Hinweise zum Zeichencode bei der Migration von Windows auf Mac
Ändern Sie die Java-Codierung in Windows