Запуск Vertx в среде IDE
Есть ли способ запустить Vertx из среды IDE? Я знаю, что могу создать сервер в файле, а затем вызвать
vertx run server.java
из командной строки, но есть ли способ запустить файл server.java из среды IDE?
Ответы
Ответ 1
-
создайте проект maven, как говорится в руководстве.
-
Затем импортируйте проект как проект Maven
-
Создайте новую панель запуска (Eclipse), используя основной класс
- Для Vert.x 2.x: " org.vertx.java.platform.impl.cli.Starter"
- Для Vert.x 3.x: " io.vertx.core.Starter"
-
На вкладке "Аргументы программы" введите: " запустите your.package.ServerVerticle -conf conf.json"
Вы можете опустить conf.json, если у вас его нет, это просто пример, показывающий, что вы можете добавить туда другой вариант, который вы поставили бы запуск Vert.x из командной строки.
PRO TIP:, если ваша вертикаль написана на другом языке, используйте префикс с именем языка следующим образом:
- " выполнить scala: com.acme.MainVerticle -conf conf.json"
- " запустить jython: MainVerticle.py -conf conf.json"
- " запустить jruby: MainVerticle.rb -conf conf.json"
- " запустить носорог: MainVerticle.js -conf conf.json"
- " запустить groovy: MainVerticle.groovy -conf conf.json"
И так далее.
Ответ 2
Принятый ответ абсолютно прекрасен.
Для обеспечения простоты вы также можете запустить простой старый Java-класс, имея основной запуск вашего экземпляра vertx.
Код должен выглядеть примерно так:
public static void main(final String... args) {
Vertx vertx = Vertx.vertx();
vertx.deployVerticle(/* put your stuff here */);
}
Там вы идете.
Ответ 3
Vert.x 3
Я ранее редактировал более ранний ответ, но я отделяю его от ясности.
Пример ниже для 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
Ясно, что это может означать разные потоки управления при отладке, чем реальное исполнение, если вы не будете осторожны.
Ответ 4
Я бы предложил, на что уже намекнул Фрэн. Лучше всего вы создаете свой проект 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.
Надеюсь, это поможет.
Лучшие
Ответ 5
Моя настройка ниже выполняется в IntelliJ 15.0.1 с помощью vert.x 3.2.0 для Java
- скачать и извлечь библиотеку vertx (http://vertx.io/download/) где-нибудь
- в IntelliJ, "Новый проект" → выберите Java и Project SDK 1.8 → Далее
- установите флажок "Создать проект из шаблона" и "Приложение командной строки" → Далее
- Введите имя проекта 'Project Name' → Finish
- "Файл" → "Структура проекта..." → выберите "Библиотеки"
- '+' (Новая библиотека проектов) → 'Java' → add
(где-то)/vert.x-3.2.0-full/lib → 'OK'
-
добавить новую 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'
-
Запуск и отладка!
результат
Ответ 6
Если вы ищете варианты, помимо создания проекта maven (предлагается в других ответах), вы можете сделать следующее:
- Загрузите последнюю версию из http://vertx.io/downloads.html
- Разархивируйте его и добавьте все JAR файлы в папку lib в библиотеку вашего проекта, то есть добавьте его в свой путь к классам
- Создайте конфигурацию запуска для своего проекта с org.vertx.java.platform.impl.cli.Starter в качестве основного класса.
- Добавьте запустите файл your.package.Server -cp ${project_loc:/YourProject}/bin в качестве аргументов вашей конфигурации запуска.
- Запустите проект, используя новую конфигурацию запуска!