Вопрос Java ошибка при вызове static метода.

Vinni

Разработчик
Пользователь
Сообщения
85
Решения
1
У меня есть класс Utils ( ), при вызове метода timeDifferenceInSec() я ловлю ошибку java.lang.NoClassDefFoundError: net/kyori/adventure/text/Component, хотя в том методе даже не затрагивается Component, если кто-то разьяснит почему так, буду безумно благодарен.
 
а почему метод timeDifferenceInSec() возвращает float, а не long?
Время в секундах, я получаю из милисекунд, секунды. Он возращает 1.35 сек и т.д. Float использую потому, что мне не нужна точно double.
 
Если ошибка указывает на 44 строчку (почему вы её не скинули, нам гадать надо что ли):
Java:
target.sendMessage(Component.text(message));
То ясное дело. Java, обращаясь к определённому методу, "подгружает" весь класс (может такое есть ещё в каких-то яп, думаю). Она не находит импорт net.kyori.adventure.text.Component в spigot и отсюда идёт ошибка.

Обычно под такие нужды создают разные классы (или даже модули, в этом случае будет основной, где код не зависит от платформы, и дополнительные, где будут методы взаимодействия с ядром (отправка сообщений игрокам и т.д.)).
 
Если ошибка указывает на 44 строчку (почему вы её не скинули, нам гадать надо что ли):
Java:
target.sendMessage(Component.text(message));
То ясное дело. Java, обращаясь к определённому методу, "подгружает" весь класс (может такое есть ещё в каких-то яп, думаю). Она не находит импорт net.kyori.adventure.text.Component в spigot и отсюда идёт ошибка.

Обычно под такие нужды создают разные классы (или даже модули, в этом случае будет основной, где код не зависит от платформы, и дополнительные, где будут методы взаимодействия с ядром (отправка сообщений игрокам и т.д.)).
Я правильно понял, что Java вызывая статический метод, загружает весь класс и проверяет его? Спасибо за ответ, я просто нигде до этого такого не встречал.
 
Я правильно понял, что Java вызывая статический метод, загружает весь класс и проверяет его?
Вроде как да, так и работает. Точно не знаю, всегда делал сразу в разных классах.
Если кто знает из постояльцев форума, могут поправить меня.
 
Назад
Сверху Снизу