Как заставить Maven автоматически перекомпилироваться, если обнаружены изменения?

1

Я выполнял проект весной mvc и использовал mvn jetty в качестве среды выполнения, а также всю рабочую область в Eclipse. Я уже видел в сервлетах, которые используют tomcat как runtime, что если какие-либо изменения сделаны в файлах Java, эти файлы автоматически перекомпилируются в eclipse, что мешает нам перезапустить tomcat, снова экономя много времени.

Но здесь, в maven, он компилирует файлы в целевую папку, любые изменения в jsp сразу отражаются, за исключением нескольких случаев, но изменения в файлах Java не перекомпилируются автоматически, пока я не буду использовать mvn jetty: запустите снова. Это занимает много времени даже после пропусков тестов, есть ли какие-либо конфигурации, чтобы maven автоматически перекомпилировал измененные java файлы или мне нужно было запустить mvn jetty: запускать снова и снова для каждого изменения..? благодаря

Редактировать: я использую mvn jetty: работаю в затмении, не используя внешние терминалы

  • 0
    Вы можете использовать Jrebel, у него есть плагин Maven.
Теги:
maven
spring
jetty

2 ответа

1
Лучший ответ

Вам просто нужно установить свойство 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>

  • 0
    Спасибо .. это работает нормально ..
0

Возможно, вы можете использовать плагин 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню