暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Quarkus系列 - 项目构建

整码阁 2021-05-09
1687

本节基于Quarkus系列-项目创建的grocery代码,或直接克隆本文末代码。

1. 构建Jar包
Quarkus默认构建Fast Jar包,即项目代码和依赖相分离,也可以在配置文件(application.properties)明确使用Fast Jar构建,如下:
quarkus.package.type=fast-jar
构建项目:
./mvnw package
构建结果:

构建成功生成如下图目录结构:
quarkus-app是核心目录,编译后的代码打包在app下的grocery-1.0.0-SNAPSHOT.jar,该文件在target根目录也有一份。项目依赖在lib目录,项目可执行文件在quarkus目录,最后quarkus-run.jar是可执行文件。所以部署项目必须拷贝整个quarkus-app目录。
Fast Jar模式将可执行文件和依赖相分离,它通过依赖索引(quarkus-app-dependencies.txt)加载依赖,避免遍历所有jar包,所以启动速度快,消耗内存少。
将grocery-1.0.0-SNAPSHOT.jar解压后如下图,可以看到它仅包含java类和资源文件,不包含依赖,所以不能直接运行。

启动项目:
java -jar target/quarkus-app/quarkus-run.jar

2. 构建Uber Jar包

Uber Jar也叫Thin Jar包,或Legacy Jar,即项目代码和依赖打包在一个文件,可以直接执行,Springboot默认使用这种模式。
修改配置文件:
quarkus.package.type=legacy-jar
构建项目:
./mvnw package
构建结果:

目录结构:

启动项目:
java -jar ./target/grocery-1.0.0-SNAPSHOT-runner.jar
启动成功:

完整代码:

https://gitee.com/geekstower/quarkus-tutorial/tree/master/grocery-init
文章转载自整码阁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论