Помогите Запуск сервера из IDE

  • Автор темы Автор темы Kurumi
  • Дата начала Дата начала

Kurumi

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Kurumi
Всем привет!
Как-то раз видел у англоязычного разработчика в видосе, как он написал простенький плагин и запустил сервер прямо в IDE..
На самом деле, как я думаю, это достаточно удобно...
Хочу спросить у вас, дорогие форумчане, как можно сделать такую же штуку?
P.S. извините, если перепутал разделы, не знаю в какой с таким вопросом податься =((
 
Открываешь ядро как Jar application в run configuration в идеи.
upload_2019-5-26_23-52-17.png
В VM Options добавляешь (заранее установи DCEVM в jdk)
-Dfile.encoding=UTF8 -XXaltjvm=dcevm -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

Запускаешь в режиме дебага и все, можно дебажить, хотсвапать и так далее.
upload_2019-5-26_23-53-37.png
 
Открываешь ядро как Jar application в run configuration в идеи.
Посмотреть вложение 53922
В VM Options добавляешь (заранее установи DCEVM в jdk)
-Dfile.encoding=UTF8 -XXaltjvm=dcevm -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

Запускаешь в режиме дебага и все, можно дебажить, хотсвапать и так далее.
Посмотреть вложение 53924
Для не особо умных, можно пояснить, что такое хотсвап, пожалуйста?)
 
Перезагрузка класса прямо во премя работы сервера. Очень экономит время, так как тебе не нужно постоянно сервер для обновления плагина перезапускать.
Его и так не нужно перезапускать, ты же плагин пишешь, а не само ядро. Плагины умеют релоадятся.
 
Его и так не нужно перезапускать, ты же плагин пишешь, а не само ядро. Плагины умеют релоадятся.
Хотсвап намного удобней, т. к. в основном оч мелкие изменения кусков кода. Во время перезагрузки плагина больше шансов, что где-то че-то обосрется, чем при хотсвапе отдельного класса.
 
Хотсвап намного удобней, т. к. в основном оч мелкие изменения кусков кода. Во время перезагрузки плагина больше шансов, что где-то че-то обосрется, чем при хотсвапе отдельного класса.
Видимо этот шанс околоноль. Ибо не сталкивался.
 
Видимо этот шанс околоноль. Ибо не сталкивался.
Например, при использовании InventoryHolder-а с другого плагина, после перезагрузки менюшки сломаются (дефолтный кейс с использованием апи менюшек).
Часто бывало еще, что package-private доступ тоже ломается.

Да и вообще смысл билдить весь плагин а потом еще команду писать, если можно нажать 1 бинд и перезагрузить нужный тебе класс.
 
Например, при использовании InventoryHolder-а с другого плагина, после перезагрузки менюшки сломаются (дефолтный кейс с использованием апи менюшек).
Часто бывало еще, что package-private доступ тоже ломается.

Да и вообще смысл билдить весь плагин а потом еще команду писать, если можно нажать 1 бинд и перезагрузить нужный тебе класс.
Ну у меня все плагины не зависимые от других. Ну помима юза vault. А писать не нужно каждый раз, она же повторяется корячими клавишами. Как всегда из мухи слона изобретаете.
Вот еслиб я само ядро редачил ии мод писал на форже, то мне бы точно пригодился дебаг в иде. А так не особо.
 
Ну у меня все плагины не зависимые от других. Ну помима юза vault. А писать не нужно каждый раз, она же повторяется корячими клавишами.
Я использую свой апи, который идет отдельным плагином, это очень удобно.

Перезагрузка плагина возможно удобней в случаях, когда много изменений в разных местах, но пересобирать весь проект ради изменения тела какого-то метода и прочих мелких изменениях неэффективно, здесь удобней хотсвап.
 
Смотрел невнимательно, у тебя же jdk 12, DCEVM доступно только для 7, 8 и 11 сейчас. Просто убери из параметров запуска -XXaltjvm=dcevm, хотсвап будет более ограничен, но все же.
 
Назад
Верх