Запуск 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 в качестве аргументов вашей конфигурации запуска.
  • Запустите проект, используя новую конфигурацию запуска!