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

Quarkus 3.6.3+Java21构建后quarkus-run.jar仅含清单文件求助

解决方案

1. 先明确Quarkus 3.x的默认构建行为

Quarkus 3.x 默认输出分层Jar结构:quarkus-run.jar 只是个启动入口(仅含清单文件),实际业务代码和依赖分别存在 target/quarkus-app/app/ 和 target/quarkus-app/lib/ 目录里。你要的合并式可执行Jar,需要手动指定构建类型。

2. 两种生成单可执行Jar的方法

方式一:临时用命令行参数构建

执行构建时加上 -Dquarkus.package.type=uber-jar 参数就行:

mvn install -Dquarkus.package.type=uber-jar

构建完成后,target/ 目录下会生成 [你的项目名]-runner.jar,这就是合并后的完整可执行Jar,自带正确的清单文件,直接用 java -jar 就能启动。

方式二:把配置写到pom.xml里(永久生效)

找到项目 pom.xml 里的 quarkus-maven-plugin 块,添加 packageType 配置,之后再执行 mvn install 就默认生成单Jar:

<build>
    <plugins>
        <plugin>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-maven-plugin</artifactId>
            <version>${quarkus.version}</version>
            <extensions>true</extensions>
            <executions>
                <execution>
                    <goals>
                        <goal>build</goal>
                        <goal>generate-code</goal>
                        <goal>generate-code-tests</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <packageType>uber-jar</packageType>
            </configuration>
        </plugin>
    </plugins>
</build>

3. 新建项目时直接指定类型

如果是新建项目不想再改配置,创建时就加参数:

quarkus create app com.example:your-app --package-type=uber-jar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:18:12