Есть ли способ запустить Vertx из среды IDE? Я знаю, что могу создать сервер в файле, а затем вызвать
vertx run server.java
из командной строки, но есть ли способ запустить файл server.java из среды IDE?
Есть ли способ запустить Vertx из среды IDE? Я знаю, что могу создать сервер в файле, а затем вызвать
vertx run server.java
из командной строки, но есть ли способ запустить файл server.java из среды IDE?
создайте проект maven, как говорится в руководстве.
Затем импортируйте проект как проект Maven
Создайте новую панель запуска (Eclipse), используя основной класс
На вкладке "Аргументы программы" введите: " запустите your.package.ServerVerticle -conf conf.json"
Вы можете опустить conf.json, если у вас его нет, это просто пример, показывающий, что вы можете добавить туда другой вариант, который вы поставили бы запуск Vert.x из командной строки.
PRO TIP:, если ваша вертикаль написана на другом языке, используйте префикс с именем языка следующим образом:
И так далее.
Принятый ответ абсолютно прекрасен. Для обеспечения простоты вы также можете запустить простой старый Java-класс, имея основной запуск вашего экземпляра vertx.
Код должен выглядеть примерно так:
public static void main(final String... args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(/* put your stuff here */);
}
Там вы идете.
Я ранее редактировал более ранний ответ, но я отделяю его от ясности.
Пример ниже для eclipse, но одна и та же базовая предпосылка должна работать с любой IDE.
Настройте Maven, Gradle или другой проект и импортируйте его в Eclipse
Создайте конфигурацию прогона или отладки и установите io.vertx.core.Launcher
в качестве основного класса.
run org.example.InitVerticle -conf <path to config>
; где org.example.InitVerticle
- ваш основной или intialiser, verticle.При отладке в Vert.x 3 вы можете заметить, что заблокированный сторожевой таймер потока постоянно выводит предупреждения (и, в конечном итоге, исключения) на консоль. Хотя это полезно во время производства, вы можете запретить это поведение, установив следующее свойство в аргументах VM вашей конфигурации отладки:
-Dvertx.options.blockedThreadCheckInterval=2147483647
Предостережения
Имейте в виду, что ваша отладка может инициировать таймауты в различных сценариях, таких как точка останова, откладывающая ответ на eventbus. Вы увидите предупреждения вроде:
WARNING: Message reply handler timed out as no reply was received - it will be removed
Ясно, что это может означать разные потоки управления при отладке, чем реальное исполнение, если вы не будете осторожны.
Я бы предложил, на что уже намекнул Фрэн. Лучше всего вы создаете свой проект Maven из архетипа (http://vertx.io/maven_dev.html), например
mvn archetype:generate -Dfilter=io.vertx: -DgroupId=your.group.id -DartifactId=your-artifact -Dversion=0.0.1-SNAPSHOT
и добавьте специфику IDE через maven, например, для Eclipse
mvn eclipse:eclipse
Таким образом, вы готовы импортировать и готово к использованию проекта в Eclipse.
Чтобы на самом деле запустить его, я бы не пошел напрямую для главной или стартовой вертикали, а просто выполнил его через Maven в Eclipse в качестве новой конфигурации запуска. Создайте новую конфигурацию Maven Run и задайте ее как цели
clean compile vertx:runMod
Он запустит основной класс mod.json.
Примечание. Чистая компиляция не нужна, но если вы ее однажды создадите и установили банки вашего проекта, то автоматическое развертывание больше не работает, поскольку оно выбирает сборку вместо разработанного кода.
Подобно тому, как у вас есть пример PingVerticle, который работает напрямую, и он также может обмануть, поскольку в mod.json включен режим автоматического повторного развертывания.
Если вам понадобится больше, config и т.д., вы можете работать со Starter Verticles, параметрами или даже добавить его в pom.xml vertx-maven-plugin.
Надеюсь, это поможет.
Лучшие
Моя настройка ниже выполняется в IntelliJ 15.0.1 с помощью vert.x 3.2.0 для Java
добавить новую Verticle как:
public class HiVerticle extends AbstractVerticle {
@Override
public void start() throws Exception {
super.start();
System.out.println("Hi");
}}
"Выполнить" → "Изменить конфигурации..." → заменить "Основной класс:" на 'io.vertx.core.Launcher',
input 'run cchcc.hi.HiVerticle' at 'Программные аргументы:' → 'OK'
Запуск и отладка!
Если вы ищете варианты, помимо создания проекта maven (предлагается в других ответах), вы можете сделать следующее: