IntelliJ компилирует файлы только один раз - PullRequest
0 голосов
/ 11 июня 2018

IntelliJ (Ultimate 2018.1) неправильно строит мой проект.В проекте используется Maven, который, похоже, не имеет проблем (все библиотеки есть).Проблема заключается в следующем:

Каждый раз, когда я запускаю IntelliJ, я могу построить все изменения ровно один раз.Я могу изменить содержимое моих файлов, и эти изменения будут включены в сборку.Но каждое изменение, которое я делаю после первой сборки, игнорируется инструментом сборки.Таким образом, каждый раз, когда я собираю проект (ctrl + f9) после этого, я получаю «Все файлы обновлены» и ничего не компилируется.(Если я запускаю приложение на сервере приложений и пытаюсь выполнить «горячую» замену, сборка говорит, что «загруженные классы обновлены ...»)

Только перезапуск IDE позволяет мне перестроить проект.

Редактировать: Как я только что узнал, перезапуск IDE - не единственная возможность снова сделать сборку возможной.В состоянии невозможности компиляции я изменил настройку в настройках компилятора.После этого я смог построить снова.Но только один раз.Затем я изменил настройку обратно, и я смог снова построить.Похоже, что-то странное в IDE. / Edit

Edit2: Как ни странно, явная компиляция класса (ctrl + shift + f9) работает.Таким образом, проблема вращается вокруг компиляции всего проекта.Хотя это делает IntelliJ снова пригодным для использования, оно подвержено ошибкам в отношении нескольких измененных файлов ... / Edit2

Несколько замечаний и конфигурации проекта:

  • Сборка создает .war
  • Она развернута на wildfly (который не запускается один раз в этом цикле, поэтому это не должно быть причиной проблемы)
  • Точно такой же проектбыл ранее разработан в Eclipse, где сборка и Hot-Swap работали безупречно (и продолжают работать, когда я снова пробую Eclipse)
  • Maven Config: Maven configuration
  • Конфигурация компилятора:Compiler configuration

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Проблема с командой «Build Project» заключается в обнаружении источника IntelliJ.Давным-давно мы решили разместить наши источники в папке с именем «.git» (а не в папке в репозитории), поэтому у IntelliJ возникли проблемы с обнаружением кода внутри этого каталога.Причиной этого был старый подход Eclipse клонировать репозитории в папку .git.Каталог выглядел так: C: \ dev \ .git \ workspace, а внутри этой папки была еще одна папка .git (из репозитория).Итак, ответ таков:

Не помещайте свой репозиторий git в папку с именем «.git», иначе IntelliJ не скомпилирует его (если только вы не компилируете класс).

0 голосов
/ 11 июня 2018

Проверьте с версией Intellij.Так как я использую 1.4 Community Edition и для меня это работает правильно.

Даже я обновил несколько зависимостей после сборки в первый раз, и она автоматически перестраивается.Поэтому для моего понимания, что вы можете сделать, просто проверьте обновление Intellij или измените каталог по умолчанию и перестройте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...