Как позволить java выводить английские ошибки вместо других языков?

Моя система - китайская, и когда в моей программе java возникает ошибка, она может выводить неанглийские сообщения об ошибках, которые не читаются:

Caused by: java.io.IOException: CreateProcess error=2, 系统脮也禄碌陆指露

или:

IOException occured : Cannot run program "cmd /C tsc hello.ts": 
CreateProcess error=2, ϵͳÕҲ»µ½ָ¶

Возможно ли, чтобы Java всегда выводил сообщения об ошибках на английском языке?

Ответ 1

В ответе есть две части.

  • Java отображает сообщения об ошибках на основе языкового стандарта по умолчанию. Существуют три системных свойства, которые определяют локаль по умолчанию: user.language, user.country и user.variant. Если у вас есть доступ к вашей командной строке Java VM, вы можете установить эти свойства, используя переключатель командной строки -D. Например. этого достаточно, чтобы переключить Java на общий английский:

    java -Duser.language=en com.my.Class
    
  • Вы можете определить переменную среды JAVA_TOOL_OPTIONS и указать свои параметры там. Любой JVM, запускающийся в такой среде, будет выбирать эти параметры так, как если бы они были в командной строке.