Когда приходит время развернуть приложение, я просто запускаю пакет в военном проекте, и моя война создается со всеми зависимостями. (...) Один из моих модулей претерпел серьезные изменения. Теперь, когда я создал war для своих проектов, эти изменения не были отражены в выходном файле war (в банке lib в папке war все еще старый код).
Вам необходимо запустить «сборку реактора», то есть запустить maven на всех модулях, запустив его из объединяющего родителя. Допустим, у вас есть следующая структура:
parent
|-- module1
| `-- pom.xml
|-- module2
| `-- pom.xml
|-- module3
| `-- pom.xml
|-- module4
| `-- pom.xml
|-- webapp
| `-- pom.xml
`-- pom.xml
И при условии, что вы определили <modules>
в pom родителя:
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<module>module4</module>
<module>webapp</module>
</modules>
Просто запустите package
из родительского каталога:
cd parent
mvn package
Maven прочитает все <modules>
и построит их в правильном порядке на основе зависимостей.
Взгляните на Советы и хитрости Maven: расширенные параметры реактора для иллюстрации сборок реактора и более сложных параметров. Например, вы можете вызвать maven следующим образом, чтобы построить webapp
модуль и его зависимости (но только его зависимости, а не все модули):
mvn -am -pl webapp