TL;DR
Définissez la variable d'environnement JAVA_TOOL_OPTIONS
sur -Dfile.encoding = UTF-8
.
Si vous avez défini un message personnalisé, etc. dans le SDK GARMIN FIT, vous devez exécuter FitGen.exe pour générer le SDK FIT. https://developer.garmin.com/fit/cookbook/fitgen/
Cependant, un mystérieux caractère brouillé est mélangé dans le commentaire de document de EventMesg.java du FIT SDK récemment distribué par Garmin Developers, et lorsque FitGen.exe est exécuté tel quel.
> .\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:Erreur:Ce caractère ne peut pas être mappé au codage MS932
* Comment:Le Tetsu?premier tetsu?octet?est tetsu?le tetsu?radar_threat_level_max, le tetsu?deuxième tetsu?octet?est tetsu?le tetsu?radar_threat_count, and le tetsu?dernier tetsu?16?morceaux?sont tetsu?réservé?pour Tetsu?futur?utilisation?et tetsu?devrait?être tetsu?ensemble?à Tetsu?FFFF.
^
Ce qui suit est omis
Une erreur se produit et la construction échoue.
L'erreur «Ce caractère ne peut pas être mappé au codage MS932» peut être évitée en passant un codage approprié tel que UTF-8 à javac. Cela peut être évité en passant les options suivantes.
javac -encoding UTF-8 EventMesg.java
Cependant, dans le cas de FitGen.exe, la partie d'appel javac est effectuée dans FitGen.exe, vous ne pouvez donc pas passer d'options directement à javac.
Par conséquent, vous pouvez éviter l'erreur en ajoutant JAVA_TOOL_OPTIONS à la variable d'environnement utilisateur de Windows qui exécute FitGen.exe et en spécifiant l'option que vous souhaitez passer à javac.
https://docs.oracle.com/javase/jp/8/docs/technotes/guides/troubleshoot/envvars002.html https://qiita.com/n_slender/items/6c566bb345e844ba8127
Recommended Posts