Java ProcessHandle не может правильно получить аргументы ⇐ JAVA
-
Anonymous
Java ProcessHandle не может правильно получить аргументы
Я столкнулся с этой проблемой при написании мода для Minecraft.
Окружающая среда: MacOS JVM:
версия Java "17.0.2" 18 января 2022 г. LTS Среда выполнения Java(TM) SE (сборка 17.0.2+8-LTS-86) 64-разрядная серверная виртуальная машина Java HotSpot(TM) (сборка 17.0.2+8-LTS-86, смешанный режим, общий доступ) Воспроизвести:
public class Main { public static void main(String[] args) { System.out.println(ProcessHandle.current().info().commandLine().orElse("none")); } } Затем выполните эту команду:
java "Main" "--username" "Steve47876" "--version" "1.20.1-fabric" "--gameDir" "/Users/zhaoliyan /Library/Application Support/minecraft/versions/1.20.1-fabric" "--assetsDir" "/Users/zhaoliyan/Library/Application Support/minecraft/assets" "--assetIndex" "5" "--uuid" " b7374a0acf0743e79a7a0e2cad64c9f9" "--accessToken" "eyJraWQiOiJhYzg07f3G03Vr3bhNG6vdsG7DD8QehRpITidVEZuo" "--clientId" "${clientid}" "--xuid" "${auth_xuid}" "--userType " "msa" "--versionType" "HMCL 3.5.5 " "-ширина" "854" "-высота" "480" Вывод — «нет». Он должен распечатать всю командную строку.
Почему эти аргументы делают это неверным?
Я столкнулся с этой проблемой при написании мода для Minecraft.
Окружающая среда: MacOS JVM:
версия Java "17.0.2" 18 января 2022 г. LTS Среда выполнения Java(TM) SE (сборка 17.0.2+8-LTS-86) 64-разрядная серверная виртуальная машина Java HotSpot(TM) (сборка 17.0.2+8-LTS-86, смешанный режим, общий доступ) Воспроизвести:
public class Main { public static void main(String[] args) { System.out.println(ProcessHandle.current().info().commandLine().orElse("none")); } } Затем выполните эту команду:
java "Main" "--username" "Steve47876" "--version" "1.20.1-fabric" "--gameDir" "/Users/zhaoliyan /Library/Application Support/minecraft/versions/1.20.1-fabric" "--assetsDir" "/Users/zhaoliyan/Library/Application Support/minecraft/assets" "--assetIndex" "5" "--uuid" " b7374a0acf0743e79a7a0e2cad64c9f9" "--accessToken" "eyJraWQiOiJhYzg07f3G03Vr3bhNG6vdsG7DD8QehRpITidVEZuo" "--clientId" "${clientid}" "--xuid" "${auth_xuid}" "--userType " "msa" "--versionType" "HMCL 3.5.5 " "-ширина" "854" "-высота" "480" Вывод — «нет». Он должен распечатать всю командную строку.
Почему эти аргументы делают это неверным?
Мобильная версия