Onyn 1 Опубликовано: 4 октября Поделиться Опубликовано: 4 октября Привет. Сижу на линуксе. Есть две проблемы. 1. При скачивании и распаковке жавы не выставляется exec бит на бинарник java, из-за чего лаунчер не может запустить клиента: Скрытый текст [10:41:04] [WARN]: ru.excalibur.launcher.c.k: Cannot run program "/home/onyn/exlauncher/jvm17/bin/java" (in directory "/home/onyn/exlauncher/clients/astra"): error=13, Permission denied at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[?:1.8.0_372] at ru.excalibur.launcher.d.f.I.k(u:245) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.G.k(de:340) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:117) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:309) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:600) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.f.f.f.k(dk:514) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.h.run(hm:55) ~[launcher_build_65.jar:?] Caused by: java.io.IOException: error=13, Permission denied at java.lang.UNIXProcess.forkAndExec(Native Method) ~[?:1.8.0_372] at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) ~[?:1.8.0_372] at java.lang.ProcessImpl.start(ProcessImpl.java:134) ~[?:1.8.0_372] at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ~[?:1.8.0_372] ... 7 more Лаунчеру нужно после распаковки выставить правильные права. Это легко делается: Скрытый текст try { Set<PosixFilePermission> perms = new HashSet<>(); perms.add(PosixFilePermission.OWNER_EXECUTE); perms.add(PosixFilePermission.GROUP_EXECUTE); perms.add(PosixFilePermission.OTHERS_EXECUTE); Files.setPosixFilePermissions(pathToJavaBinary, perms); } catch (UnsupportedOperationException e) { // Эта ошибка будет стрелять в винде. Можно игнорить. } Можно самостоятельно решить проблему, выставив права в консоли руками: chmod +x /home/onyn/exlauncher/jvm17/bin/java Проблема касается и мака. 2. При запуске клиента на 1.20 новая ошибка: Скрытый текст [10:51:53] [INFO]: WARNING: Unknown module: cpw.mods.securejarhandler specified to --add-exports [10:51:53] [INFO]: WARNING: Unknown module: cpw.mods.securejarhandler specified to --add-opens [10:51:53] [INFO]: WARNING: Unknown module: cpw.mods.securejarhandler specified to --add-opens [10:51:53] [INFO]: Exception in thread "main" java.lang.ExceptionInInitializerError [10:51:53] [INFO]: at cpw.mods.niofs.union.UnionFileSystemProvider.newFileSystemInternal(UnionFileSystemProvider.java:115) [10:51:53] [INFO]: at cpw.mods.niofs.union.UnionFileSystemProvider.newFileSystem(UnionFileSystemProvider.java:105) [10:51:53] [INFO]: at cpw.mods.jarhandling.impl.Jar.<init>(Jar.java:84) [10:51:53] [INFO]: at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:70) [10:51:53] [INFO]: at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:66) [10:51:53] [INFO]: at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:58) [10:51:53] [INFO]: at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:50) [10:51:53] [INFO]: at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:84) [10:51:53] [INFO]: Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field static final java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP accessible: module java.base does not "opens java.lang.invoke" to unnamed module @13a5fe33 [10:51:53] [INFO]: at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) [10:51:53] [INFO]: at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) [10:51:53] [INFO]: at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) [10:51:53] [INFO]: at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) [10:51:53] [INFO]: at cpw.mods.niofs.union.UnionFileSystem.<clinit>(UnionFileSystem.java:52) [10:51:53] [INFO]: ... 8 more [10:51:53] [WARN]: ru.excalibur.launcher.c.k: process hasn't exited at java.lang.UNIXProcess.exitValue(UNIXProcess.java:421) ~[?:1.8.0_372] at ru.excalibur.launcher.d.f.I.k(u:177) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.I.k(u:480) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.G.k(de:340) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:117) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:309) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.d.f.M.k(jl:600) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.f.f.f.k(dk:514) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.h.run(hm:55) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.h.start(hm:293) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.G.k(hm:150) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.f.h.c.T.k(ch:170) ~[launcher_build_65.jar:?] at ru.excalibur.launcher.c.h.run(hm:67) ~[launcher_build_65.jar:?] Я немного подебажил и выяснил, что при запуске клиента в аргументе -p жарники разделяются символом ";" (точка с запятой). Это правильный разделитель для винды, но на линуксе и маке должно быть ":" (двоеточие). Здесь правила такие же как и у аргумента -cp. Ссылка на комментарий
Onyn 1 Опубликовано: 15 октября Автор Поделиться Опубликовано: 15 октября Могу помочь с доработкой, если хотите. Ссылка на комментарий
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас