Сконфигурируйте maven для упаковки fat jar без распаковки зависимостей в проекте vertx, как это делает Spring Boot - PullRequest
2 голосов
/ 22 мая 2019

Как я могу сказать maven включить файлы jar зависимостей при создании толстого jar, а не распаковывать их в файлы .class?

У меня есть проект vertx 3.6.0, создающий толстый jar.Я использую vertx-maven-plugin: 1.0.13, и я запускаю mvn clean package для сборки.Чтобы использовать Veracode SCM (статическое сканирование), зависимости внутри моей толстой фляги должны быть неповрежденными, то есть исходные файлы фляги зависимостей должны содержаться внутри моей жирной фляги.Maven распаковывает все зависимости, поэтому у меня есть только файлы классов.

У нас есть еще один проект весенней загрузки, который работает, как и ожидалось.Похоже, что последняя цель весенней загрузки repackage помещает все файлы jar зависимостей в каталог BOOT-INF внутри файла jar.

Последние 2 цели с использованием vertx-maven-plugin:
maven-jar-plugin:2.4:jar
vertx-maven-plugin:1.0.13:package

Последние 2 гола с использованием Spring-Boot-Maven-плагин:
maven-jar-plugin:2.4:jar
spring-boot-maven-plugin:2.1.2.RELEASE:repackage

Я искал документы для vertx-maven-plugin и повсюду https://maven.apache.org и в других местах безуспешно.

Есть ли способ получить такое же поведение переупаковки для приложения без весенней загрузки?

1 Ответ

0 голосов
/ 22 мая 2019

Вы не можете сделать это с Vert.x, потому что он не выполняет сложную загрузку классов.

Но так как он встраиваемый, вы можете создать приложение SpringBoot, которое просто запускает Vert.x. Тогда вы получите работающий сканер зависимостей.

Но я бы сначала проверил с Veracode, если он не может проверить ваш файл сборки POM или Gradle вместо сканирования JAR.

...