Skip to content
This repository has been archived by the owner on May 2, 2021. It is now read-only.

NullPointerException on linux #35

Closed
SaphireLattice opened this issue May 3, 2016 · 12 comments
Closed

NullPointerException on linux #35

SaphireLattice opened this issue May 3, 2016 · 12 comments
Labels

Comments

@SaphireLattice
Copy link

Вывод java -version,inxi -v 7 от рута и запуска самого лаунчера. Креш где-то в JS коде, кажется. Если надо, скину .jar файл владельцев сервера, но вроде runtime код не тронут.
http://hastebin.com/vuvuqidive

@SaphireLattice
Copy link
Author

В итоге: требовалось JavaFX. Ака OpenJFX. Только вот, почему это было [WARN] и при том в консоле, а не [ERROR] с месседжбоксом из разряда "Требуется JavaFX"? В случае с линуксом (или по крайне мере моим дистрибутивом) JFX идет отдельно от JDK/JRE.

@SaphireLattice
Copy link
Author

Упс, случайно закрыл.

@SaphireLattice SaphireLattice reopened this May 4, 2016
@new-sashok724
Copy link
Owner

OpenJRE не поддерживается лаунчером (даже с OpenJFX). Сообщение об этом будет в R4.

@SaphireLattice
Copy link
Author

А что такого в OpeJRE, что она не поддерживается?

@new-sashok724
Copy link
Owner

Нет некоторых методов из (com.)sun.*

@SaphireLattice
Copy link
Author

Так используй библиотеки. Ява она на то и кроссплатформенная, блин. Не надо зависить от одной специфично версии явы :/

@new-sashok724
Copy link
Owner

HotSpot JVM тоже кроссплатформенная, и работает ровно на тех же платформах что и OpenJDK, потому проблемы вообще не вижу.

@SaphireLattice
Copy link
Author

Т.е. по твоему пользователи сами должны разбираться, какого черта клиент работает там, но не тут? Как-то слабовато для (бывшего) платного клиента.
А OpenJDK таки /основан/ на HotSpot. Каких классов-то не хватает, может попробую помочь? (Хотя, ты все-равно не примешь PR)

@new-sashok724
Copy link
Owner

Так то HotSpot основан на OpenJDK, и сам моджанг не рекомендует на ней играть (написано а FAQ), посему я тоже. С ней серьезно много проблем. В R4 при запуске будет окно которое будет прямо об этом говорить и давать ссылку на HotSpot.

@SaphireLattice
Copy link
Author

Говорить, т.е. добровольно принудительно заявлять "скачай или закроюсь"? Оно будет убираемо?
Кстати, как вы вообще дебажили Authlib?

@new-sashok724
Copy link
Owner

new-sashok724 commented May 8, 2016

Authlib к теме разговора не относится.
И да, так и будет заявляться. Если нет JavaFX - то "скачай или закроюсь", просто принудительно, если же не HotSpot - длинющее сообщение почему лучше поставить HotSpot при каждом запуске. С кнопками Да (скачать), Нет (использовать на свой страх и риск и в случае каких либо ошибок не жаловаться) и Отмена (просто закрыть лаунчер). А если найдется что то, что на OpenJRE не будет работать вообще (а я уверен оно уже есть, просто я не проверял), то неотключаемое "Скачай или закроюсь". Это лучше чем краш где нибудь в середине закачивания клиента

@new-sashok724
Copy link
Owner

new-sashok724 commented May 8, 2016

И вот ещё, почему сообщение об отсутствии это не ERROR, а WARN: Лаунчер не принуждает рантайм к использованию JFX, он просто дает один класс для удобного запуска. При желании абсолютно такой же по функционалу рантайм можно написать на AWT/Swing, или вообще сделать лаунчер консольным.
Именно поэтому крашать лаунчер, если в теории рантайму JFX даже и не понадобится - как минимум глупо. Это должно быть заботой рантайма, да, согласен что не в виде бросания NPE.
Опять же в R4 в рантайме уже стоят проверки на это, если нет JFX как я и говорил будет выводиться Swing'овское окно с (принудительной) просьбой поставить HotSpot.
При этом был добавлен модуль bootstrap, который перед запуском лаунчера проверяет версию Java и имя JVM (скомпилирован на J6) и так же выведет лекцию про то почему OpenJDK - это не хорошо для лаунчера и майнкрафта, если будет не HotSpot

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants