gpt4 book ai didi

java - 在vertx项目中配置maven打包fat jar而不需要解包依赖,就像spring boot一样

转载 作者:行者123 更新时间:2023-11-30 12:05:29 25 4
gpt4 key购买 nike

我如何告诉 Maven 在构建胖 jar 时包含依赖 jar 文件,而不是将它们解包到 .class 文件?

我有一个生成 fat jar 的 vertx 3.6.0 项目。我正在使用 vertx-maven-plugin:1.0.13,我运行 mvn clean package 来构建。为了利用 Veracode SCM(静态扫描),我的 fat jar 中的依赖项必须完好无损,这意味着原始依赖项 jar 文件必须包含在我的 fat jar 中。不过,Maven 正在解压缩所有依赖项,所以我只有类文件。

我们有另一个按预期工作的 spring boot 项目。似乎最终的 spring boot repackage 目标将所有依赖 jar 文件放在 jar 文件内的 BOOT-INF 目录中。

使用 vertx-maven-plugin 的最后 2 个目标:
maven-jar-plugin:2.4:jar
vertx-maven-plugin:1.0.13:package

使用 spring-boot-maven-plugin 的最终 2 个目标:
maven-jar-plugin:2.4:jar
spring-boot-maven-plugin:2.1.2.RELEASE:repackage

我在文档中搜索了 vertx-maven-plugin 和所有 https://maven.apache.org到目前为止,其他地方都没有任何运气。

有没有办法让非 spring boot 应用程序获得同样的重新打包行为?

最佳答案

你不能用 Vert.x 做到这一点,因为它不进行花哨的类加载。

但由于它是可嵌入的,您可以创建一个仅启动 Vert.x 的 SpringBoot 应用程序。然后你就会让你的依赖扫描器工作。

但如果 Veracode 无法检查您的 POM 或 Gradle 构建文件而不是扫描 JAR,我会首先检查它。

关于java - 在vertx项目中配置maven打包fat jar而不需要解包依赖,就像spring boot一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com