Я выполнял проект весной mvc и использовал mvn jetty в качестве среды выполнения, а также всю рабочую область в Eclipse. Я уже видел в сервлетах, которые используют tomcat как runtime, что если какие-либо изменения сделаны в файлах Java, эти файлы автоматически перекомпилируются в eclipse, что мешает нам перезапустить tomcat, снова экономя много времени.
Но здесь, в maven, он компилирует файлы в целевую папку, любые изменения в jsp сразу отражаются, за исключением нескольких случаев, но изменения в файлах Java не перекомпилируются автоматически, пока я не буду использовать mvn jetty: запустите снова. Это занимает много времени даже после пропусков тестов, есть ли какие-либо конфигурации, чтобы maven автоматически перекомпилировал измененные java файлы или мне нужно было запустить mvn jetty: запускать снова и снова для каждого изменения..? благодаря
Редактировать: я использую mvn jetty: работаю в затмении, не используя внешние терминалы
Вам просто нужно установить свойство scanIntervalSeconds в плагине
scanIntervalSeconds
- Пауза в секундах между зачистками webapp для проверки изменений и автоматического горячего повторного развертывания, если они обнаружены. По умолчанию это 0, что отключает сканирование горячего развертывания. Это число больше 0.
В основном что-то вроде
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
<contextPath>/</contextPath>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
<scanIntervalSeconds>5</scanIntervalSeconds>
</configuration>
</plugin>
Я использую это все время. Работает отлично. Вышеуказанное сканирует любые изменения каждые 5 секунд. И да, даже ваши файлы Java.
Также, когда сканирование завершено, вы должны увидеть некоторое обновление в консоли, если изменение будет достигнуто за этот промежуток времени. Если вы не видите каких-либо обновлений, возможно, что определенный файл не выбран (хотя файлы Java должны быть подняты, я просто говорю о других файлах вообще). В этом случае вы можете явно указать <scanTargets>
scanTargets
- Необязательный. Список файлов и каталогов для периодического сканирования в дополнение к тем, которые плагин автоматически сканирует.
<configuration>
...
<scanTargets>
<scanTarget>path/to/somefile</scanTarget>
</scanTargets>
</configuration>
Возможно, вы можете использовать плагин eclipse Run-Jetty-Run.
https://code.google.com/p/run-jetty-run/wiki/UserGuide Раздел Как работать с Java hot-deploy http://code.google.com/p/run-jetty-run/wiki/RunMavenWebAPP