You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus Uber-Jar打包需不解压依赖Jar的冲突问题咨询

解决方案:构建含完整依赖Jar的Quarkus可执行Uber-Jar

要解决Quarkus Uber-Jar解压依赖导致同名配置文件冲突的问题,你可以通过修改打包配置,让Uber-Jar保留完整的依赖Jar而不解压,同时保持单Jar可独立运行的特性。

1. 修改打包配置

你可以通过两种方式禁用依赖解压:

方式一:通过application.properties配置

在项目的src/main/resources/application.properties中添加:

quarkus.package.uber-jar=true
quarkus.package.uber-jar.unpack=false

方式二:通过Maven插件配置

在pom.xml的quarkus-maven-plugin中添加打包配置:

<plugin>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-maven-plugin</artifactId>
    <version>${quarkus.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>build</goal>
                <goal>generate-code</goal>
                <goal>generate-code-tests</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- 启用Uber-Jar打包 -->
        <uberJar>true</uberJar>
        <!-- 禁用依赖解压 -->
        <unpack>false</unpack>
    </configuration>
</plugin>

2. 执行打包命令

运行Maven打包命令生成Uber-Jar:

mvn clean package -DskipTests

3. 验证结果

生成的Uber-Jar内部会包含lib/main目录,所有依赖Jar都完整存储在此目录中,不会被解压。Quarkus的启动器会自动加载该目录下的依赖,确保每个依赖的配置文件都能被正确识别(不会出现覆盖问题),同时整个Jar可以独立运行,无需额外的lib目录。

内容的提问来源于stack exchange,提问作者MDuchemin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:22:20