Я работаю над довольно большим проектом, который использует maven для управления зависимостями. В рамках этого мы используем профили Maven для создания и замены определенных файлов свойств, которые отличаются между средами test/dev/production.Проблемы с интеграцией Eclipse (STS)/Maven
Чтобы выполнить сборку, я выполнил бы Maven: build, используя правильный профиль и реактор mavens, затем построил проекты в правильном порядке и сохранил банки в папке .m2, например, сначала в банке домена, затем в службу jar (с банком домена, включенным в его банку в качестве зависимости) и т. д. Это приводит к военному файлу в конечном итоге со всеми необходимыми для войны войнами.
Когда eclipse выполняет свою сборку по умолчанию, которую он выполняет каждый раз, когда вы сохраняете файл, банки не построены с каким-либо профилем, а всего лишь обычная сборка.
Когда я толкаю окончательный файл войны на сервер, и он взорван, когда сервер запускается (запускается и развертывается через eclipse). Я получаю в папке lib все банки, которые maven упаковали в файл войны, но также все банки, которые затмение построили.
например
lib/
domain.jar (built by eclipse)
domain.SNAPSHOT.1.0.jar (built by maven)
etc
Есть ли способ, чтобы предотвратить это? Это имеет конечное следствие наличия двух файлов свойств и только порядок, в котором они загружаются, определяет, какой из них используется. Реальная проблема, поскольку различные свойства используются в разных средах.
Вы импортировали проект в Eclipse в качестве проекта Maven? работает ли сборка в командной строке? Вы используете «mvn install» вместо первого «mvn clean package» ... – khmarbaise
У вас есть свойство finalName, определенное в нескольких местах в POM (ых)? – Perception
My full Maven Build Goal: clean install -PprofileTest. Проверка времени на файлах jar внутри взрывоподобной войны на Tomcat в модифицированной дате указывает, что domain.jar был построен с разрешением 10,00, а домен .SNAPSHOT.1.0.jar был построен в 10.06 (где моя полная сборка и развертывание заняла i будет оценивать 6 минут). Я не думаю, что это не проблема с maven, так как это eclipse пытается разрешить зависимости и подталкивать свою собственную версию банок к серверу. –