使用Quarkus Maven插件时,如何保留无.original后缀的原始Jar文件?
解决Quarkus Maven插件保留原始Jar文件的问题
以下两种方法可以避免原始Jar被重命名为.original后缀,同时保留Quarkus生成的Uber-Jar:
方法1:添加Quarkus保留原始Jar的配置
在Quarkus插件的配置中添加quarkus.package.keep-original=true属性,明确要求插件保留原始Jar文件的原始名称:
<plugin> <groupId>io.quarkus.platform</groupId> <artifactId>quarkus-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <properties> <quarkus.package.type>uber-jar</quarkus.package.type> <quarkus.package.main-class>${mainClass}</quarkus.package.main-class> <quarkus.package.output-directory>${project.build.directory}</quarkus.package.output-directory> <quarkus.package.runner-suffix>-quarkus</quarkus.package.runner-suffix> <!-- 保留原始Jar文件,不添加.original后缀 --> <quarkus.package.keep-original>true</quarkus.package.keep-original> </properties> </configuration> <executions> <execution> <id>uber-jar</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> </plugin>
执行mvn package后,target目录下会同时存在:
some-x.y.z-SNAPSHOT.jar(原始Jar文件,无.original后缀)some-x.y.z-SNAPSHOT-quarkus.jar(Quarkus生成的Uber-Jar)
方法2:调整插件执行阶段
将Quarkus插件的执行阶段从package改为verify,让Maven默认的jar插件先在package阶段生成原始Jar,Quarkus插件在后续的verify阶段生成Uber-Jar,不会修改原始Jar的名称:
<plugin> <groupId>io.quarkus.platform</groupId> <artifactId>quarkus-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <properties> <quarkus.package.type>uber-jar</quarkus.package.type> <quarkus.package.main-class>${mainClass}</quarkus.package.main-class> <quarkus.package.output-directory>${project.build.directory}</quarkus.package.output-directory> <quarkus.package.runner-suffix>-quarkus</quarkus.package.runner-suffix> </properties> </configuration> <executions> <execution> <id>uber-jar</id> <phase>verify</phase> <!-- 修改执行阶段 --> <goals> <goal>build</goal> </goals> </execution> </executions> </plugin>
这种方式同样会保留原始Jar的默认名称,同时生成指定后缀的Uber-Jar。
内容的提问来源于stack exchange,提问作者Jin Kwon
相关产品推荐
相关产品推荐

