У нас возникают проблемы с настройкой Vert.x с IntelliJ для автоматической перезагрузки классов во время разработки. Мы использовали подход "лучшей практики", как описано в их документах (с использованием maven), но не могут заставить auto-redeploy работать.
Действия по воспроизведению:
mvn archetype:generate -Dfilter=io.vertx:
mvn idea:idea
создания проекта IntelliJ.ipr
в IntelliJPreferences → Compiler → Make Project Automatically
"auto-redeploy": true
mod.json
"auto-redeploy": true
установлен в mod.json
в папке ресурсовCMD + Fn + F9
(CMD + F9
если вы используете медиа-ключи в качестве функциональных клавиш)vertx:runMod
с панели Maven (или из командной строки) На этом этапе приложение запускается (и при проверке папки target/mods
, похоже, создается модуль). Тем не менее, внесение изменений в класс PingVerticle
и сохранение результатов абсолютно ничего не происходит. Кроме того, ни один из ресурсов не копируется, поэтому при запуске простого веб-сервера он всегда приводит к "не найденным ресурсам". Однако vertx_classpath.txt
имеет все каталоги с ресурсами.
Я также обнаружил, что при добавлении внешних зависимостей к вашему pom они не копируются в модуль и не приводят к исключению класса.
Мы что-то упустили в процессе установки? Благодарю.
Кажется, это было объединение ряда неудачных событий. Еще раз нам пришлось использовать определенную версию Maven (3.0.5) с определенной версией Java (1.7u45). Я не могу точно вспомнить, почему, возможно, что-то связано с производственной системой, над которой мы работали. Однако после обновления всего (Maven 3.2.1 и Java 1.8.0) и удаления старых путей все работает по назначению.
ОБНОВИТЬ
На самом деле, оказывается, проблема заключалась в том, что на пути к проекту было место. Удаление его все решило.