it-swarm.com.ru

Запустите Vertx в IDE

Есть ли способ запустить Vertx из IDE? Я знаю, что могу создать сервер в файле, а затем вызвать 

vertx run server.Java

из командной строки, но есть ли способ запустить файл server.Java из IDE?

14
j will
  • создайте проект maven как manual говорит.

  • Затем импортируйте проект как проект 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"

И так далее.

28
sscarduzio

Принятый ответ - совершенно нормально .... Для полноты картины вы также можете просто запустить простой старый основной класс Java, имея основной запуск вашего экземпляра vertx.

Код должен быть примерно таким:

public static void main(final String... args) {
    Vertx vertx = Vertx.vertx();
    vertx.deployVerticle(/* put your stuff here */);
}

Вот и ты.

14
Psyx

Vert.x 3

Ранее я отредактировал более ранний ответ, но я делаю его для ясности.

Ниже приведен пример для Eclipse, но такая же базовая предпосылка должна работать с любой IDE.

Настроить

  • Настройте ваш Maven , Gradle или другой проект и импортируйте его в Eclipse

  • Создайте конфигурацию run или debug и установите io.vertx.core.Launcher в качестве основного класса.

  • На вкладке arguments установите аргументы программы: run org.example.InitVerticle -conf <path to config>; где org.example.InitVerticle - это ваша главная или первоначальная вертикаль. 

Отладка

Во время отладки в Vert.x 3 вы можете заметить, что сторожевой таймер заблокированного потока постоянно выводит предупреждения (и, в конечном итоге, исключения) на консоль. Хотя это полезно во время работы, вы можете запретить это поведение, установив следующее свойство в аргументах VM вашей конфигурации отладки:

-Dvertx.options.blockedThreadCheckInterval=2147483647

Имейте в виду, что ваша отладка может вызвать тайм-ауты в различных сценариях, таких как точка останова, задерживающая ответ на шине событий. Вы увидите такие предупреждения, как:

WARNING: Message reply handler timed out as no reply was received - it will be removed

Ясно, что это может означать разные потоки управления при отладке, чем реальное выполнение, если вы не будете осторожны. 

8
Marc Savy

Мои настройки ниже выполняются в IntelliJ 15.0.1 с vert.x 3.2.0 для Java

  1. скачать и извлечь библиотеку vertx ( http://vertx.io/download/ ) куда-нибудь
  2. в IntelliJ «Новый проект» -> выберите Java и Project SDK 1.8 -> Далее
  3. установите флажок «Создать проект из шаблона» и «Приложение командной строки» -> Далее.
  4. введите «Название проекта» вы хотите -> Готово
  5. «Файл» -> «Структура проекта ...» -> выберите «Библиотеки»
  6. '+' (Библиотека нового проекта) -> 'Java' -> добавить (Где-то) /vert.x-3.2.0-full/lib -> 'OK'
  7. добавить новую вертикалку вроде:

    public class HiVerticle extends AbstractVerticle {
    @Override
    public void start() throws Exception {
        super.start();
        System.out.println("Hi");
    }}
    
  8. «Выполнить» -> «Редактировать конфигурации ...» -> заменить «Основной класс:» на 'io.vertx.core.Launcher ', 

    введите 'run cchcc.hi.HiVerticle' в 'Аргументы программы:' -> 'OK'

  9. Запустите и отладьте!

результат

4
cchcc

Я бы предложил то, на что уже намекала Фрэн. Лучше всего вы создадите свой проект 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

Он запустит настроенный класс "Main" mod.json.

Примечание: clean compile не обязателен, но если вы соберете его один раз и установили фляги вашего проекта, автоматическое развертывание больше не будет работать, так как оно выбирает сборку вместо разработанного кода.

Например, у вас есть пример PingVerticle, работающий напрямую, и он также может дурачиться, так как автоматическое повторное развертывание включено в mod.json.

Если вам нужно больше, конфигурации и т.д., Вы можете работать с Starter Vertific, параметрами или даже добавлять их в pom.xml vertx-maven-plugin.

Надеюсь, это поможет.

Лучший

4
INsanityDesign

Если вы ищете варианты помимо создания проекта maven (предложенного в других ответах), вы можете сделать следующее:

  • Загрузите последнюю версию с http://vertx.io/downloads.html
  • Разархивируйте его и добавьте все JAR-файлы из папки lib в библиотеку вашего проекта, т.е. добавьте его в classpath
  • Создайте конфигурацию запуска для своего проекта с org.vertx.Java.platform.impl.cli.Starter в качестве основного класса.
  • Добавьте запустите your.package.Server -cp $ {project_loc:/YourProject}/bin в качестве аргументов вашей конфигурации запуска. 
  • Запустите ваш проект, используя только что созданную конфигурацию запуска!
1
nachi