Я работаю с коллекцией проектов Maven в Eclipse, которые нацелены на встроенный сервер Tomcat. Проекты взаимозависимы. Проект «Е» включает в себя все сторонние библиотеки и собственный общий код. Проект "D" зависит от "E" и реализует некоторые дополнительные общие функции. А проекты "A", "B" и "C" являются приложениями, которые все зависят как от "D", так и от "E".
![enter image description here](https://i.stack.imgur.com/Z9U9g.png)
Я сейчас пытаюсь настроить цикл разработки с горячим развертыванием. Я использовал m2e & m2e-wtp для управления проектами, но цикл сборки - настоящая проблема. Если я внесу изменение в библиотеку, то все пять проектов go - clean install
, а затем развертывание должно быть очищено, чтобы вызвать обновление. Я создал агрегирующий проект Maven, который упрощает полную сборку, и я включил автоматическую публикацию sh и отключил автоматическую перезагрузку.
Основной вопрос, который у меня есть, - как распространить изменения библиотеки на все остальное? Eclipse автоматически скомпилирует измененный файл, но я не могу понять, как заставить Maven упаковать банку для повторного развертывания. Я также попытался использовать «FileSyn c», чтобы просто скопировать файлы классов и т. Д. c. в область развертывания, но это, кажется, нарушает использование web-fragments.xml
. Должен ли web-fragment.xml
быть в банке, чтобы быть распознанным чужой сетью. xml, или я делаю что-то не так?
Учитывая популярность Eclipse, Maven и Tomcat по отдельности, я действительно удивлен, что нет более чистого решения для объединения всех трех.
Любой совет приветствуется, но, пожалуйста, не предлагайте мне перейти на Ant, JBoss, et c. Я открыт для различных плагинов Eclipse, но стек технологий довольно исправлен.