应用的创建、构建、部署
1 创建工程
1.1IDEA支持创建quarkus项目:
1.2 maven创建
tips:需要maven3.8.1 以上, MVN版本下载
mvn io.quarkus.platform:quarkus-maven-plugin:2.7.1.Final:create "-DprojectGroupId=org.acme" "-DprojectArtifactId=quarkus-demo" -Dextensoins="resteasy"
1.3 网页创建
简单直接方便,地址
2查看一下项目
使用的是网页创建简单方便,修改一下方法增加时间
2.1 启动
用命令启动
mvn quarkus:dev
浏览器查看 http://localhost:8080/hello
2.2 生成jar包
(1)
mvn clean package -U "-Dquarkus.package.type=uber-jar"
(2)
jar命令启动
cd .\target
java -jar .\wy-quarkus-1.0.0-SNAPSHOT-runner.jar```
2.3制作二进制可执行文件
接下来要体验的是quarkus的特色了:将项目制作成二进制可执行文件
首先请确认当前环境的docker服务正常
运行下面的命令
mvn clean package -U -DskipTests -Dnative -Dquarkus.native.container-build=true
为了防止OOM,最好设置最大堆内存
mvn clean package -U -DskipTests -Dnative "-Dquarkus.native.native-image-xmx=4096m" "-Dquarkus.native.container-build=true"
此刻,在工程的target目录下,出现了名为 wy-quarkus-1.0.0-SNAPSHOT-runner 的二进制可执行文件,这就是本次构建的结果
2.4 制作镜像(基于二进制文件)
有时我们需要将服务部署在docker或k8s环境,所以,接下来尝试将这个java工程制作成docker镜像
docker/ 文件夹下已经为我们准备好了 Dockerfile文件
创建docker 镜像
docker build -f "src/main/docker/Dockerfile.native" -t "quarkus/quarkus-1:0.0.1" .
docker images 查看刚刚创建的镜像
使用命令或者工具运行
docker run -i --rm -p 8080:8080 quarkus/quarkus-1:0.0.1
命令运行结果
tips:因为启动命令中添加了–rm参数,因此,用ctrl+C退出控制台后,容器会被彻底清理掉
我使用的是docker-desktop 桌面工具
启动成功
镜像为运行状态
2.5 制作镜像(基于常规maven构建结果)
首先是普通的mvn编译:
mvn clean package -U -DskipTests
然后是基于target下面的内容制作镜像,quarkus依然很贴心的帮我们准备好了Dockerfile文件(名为Dockerfile.jvm)
docker build -f "src/main/docker/Dockerfile.jvm" -t "quarkus/quarkus-2:0.0.1" .
这里可以看到创建的镜像,对比一下大小
启动 指定端口8081