Maven-проект с maven-shade-plugin неправильно развертывается на SpringSource Server
Мы собираем файл войны из нескольких проектов на базе Maven. Один из проектов использует maven-shade-plugin для включения дополнительной библиотеки в целевой файл jar. Давайте назовем это x.jar ради этого обсуждения.
Когда maven создает файл war, он содержит правильный файл x.jar с упакованной дополнительной библиотекой внутри.
Мы используем Spring Source последней версии (3.4.0), чтобы развернуть его на сервере, настроенном в Spring Source. Сервер Sprint TC Server 2.0.3.
Как только проект развертывается на сервере (который является Sprint TC Server 2.0), файл jar (x.jar) каким-то образом заменяется неправильным маленьким без упакованной библиотеки внутри.
Этот меньший x.jar не существует нигде в файловой системе до развертывания, поэтому он выглядит так, будто Spring Source компилирует его самостоятельно.
В результате мы не можем развернуть нашу систему в Spring Source. Ребята, вы причина или способ решения нашей проблемы?
----------- ОБНОВИТЬ -----------
Мы провели тест. Мы испортили файл maven pom.xml до того, как развернули его, и в результате Spring Source развернул исходные файлы без перекомпиляции. Это привело к правильному развертыванию.
Этот тест показывает, что Spring Source перестраивает файлы jar молча при их развертывании на серверах.
Есть ли способ остановить это или заставить это работать должным образом?
1 ответ
К сожалению, я предлагаю не использовать плагин shade, а скорее умную комбинацию между сборками, зависимостями и jar-плагинами, вроде как парень в ответе здесь:
Неверный или поврежденный JAR-файл, созданный плагином Maven Shade
Если у вас возникнут проблемы с настройкой, дайте мне знать.
И если у вас есть журналы ошибок сервера, было бы неплохо также опубликовать их.