当前位置: 首页 > article >正文

IDEA中Quarkus框架(3.13版本)开发、调试、部署、打包等

code-with-quarkus

code-with-quarkus 是使用官网生成的demo项目
这个项目使用Quarkus(使用3.13.0版本,该版本支持JDK21),超音速亚原子Java框架。

官网地址: https://quarkus.io/.

环境要求

OS: Windows 10.0 +
jdk 11+
maven 3.9+
IntelliJ IDEA 2024.1 (Community Edition)

一、准备工作

1、在IDEA中,给目标项目配置JDK(11+)

在这里插入图片描述

2、Debug模式启动项目:
mvn compile quarkus:dev 命令启动时,会自动监听5005端口进入调试模式, 只需要在IEDA中添加调试器(Attach debugger), 即可断点调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、开发模式启动项目

命令:

./mvnw compile quarkus:dev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

三、打包项目

命令:

./mvnw package

它在“target/quarkus-app/”目录中生成“quarkus-run.jar”文件。
请注意,它不是一个_über-jar_,因为依赖项被复制到“target/quarkus-app/lib/”目录中。
该应用程序现在可以使用java-jar target/quarkus-app/quarkus-run.jar运行。
如果要构建_über-jar_,请执行以下命令:

./mvnw package -Dquarkus.package.jar.type=uber-jar

该应用程序打包为_über-jar_,现在可以使用java-jar target/*-runer.jar运行。

四、创建可执行文件、部署

打包命令:

cd quarkus-helloworld
./mvnw package -Dnative

如果本地未安装GraalVM ,您可以使用以下命令在容器中运行原生可执行构建包**(需要先安装Docker)**:

cd quarkus-helloworld
./mvnw package -Dnative -Dquarkus.native.container-build=true

参数说明:
-Dquarkus.native.container-build=true 表示使用容器把jar构建成镜像,而不是用本地GraalVM
-Dquarkus.native.container-runtime=docker 表示使用Docker构建,也可以使用Podman。默认就是docker,此参数可以忽略。

在这里插入图片描述

查看docker镜像,已生成了应用的镜像文件(jar包模式):
在这里插入图片描述

运行方式一:根据镜像(jar包模式)启动应用:

docker run -id -p 8080:8080 --name code-with-quarkus 004183/code-with-quarkus:1.0.0-SNAPSHOT

在这里插入图片描述

运行方式二: linux系统中直接运行可执行文件

也可以在linux系统中给(./target/code-with-quarkus-1.0.0-SNAPSHOT-runner)你的原生可执行包赋权,并运行。
在这里插入图片描述

可以看出,直接运行可执行文件来启动时,运行速度相当快。

运行方式三: 把原生可执行包 做成 docker镜像 并启动

cd quarkus-helloworld
docker build -f src/main/docker/Dockerfile.native -t quarkus/code-with-quarkus .

在这里插入图片描述

docker run -id -p 8081:8080 --name code-with-quarkus-native quarkus/code-with-quarkus

在这里插入图片描述

如果您想了解有关构建本机可执行文件的更多信息,请咨询https://quarkus.io/guides/maven-tooling.

五、其他

Related Guides

Provided Code

RESTEasy JAX-RS

轻松启动RESTful Web服务

Related guide section…


http://www.kler.cn/a/318769.html

相关文章:

  • 淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP前端源码
  • Ceph 中Crush 算法的理解
  • Elastic Observability 8.16:增强的 OpenTelemetry 支持、高级日志分析和简化的入门流程
  • 【云计算解决方案面试整理】1-2云计算基础概念及云计算技术原理
  • 探索Pillow库:Python图像处理的瑞士军刀
  • 使用elementUI实现表格行拖拽改变顺序,无需引入外部库
  • 通过 OBD Demo 体验 OceanBase 4.3 社区版
  • 关于Hadoop的详细步骤及方案案例
  • python爬虫初体验(三)——将网页数据导出csv和excel文件
  • eCharts扩展图表
  • PDF一键转播客!PDF2Audio让文档“开口说话“
  • 开始学习深度学习-前言
  • 【Docker】Docker快速入门
  • 玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练
  • 【RabbitMQ】RabbitMQ 的概念以及使用RabbitMQ编写生产者消费者代码
  • 程序包管理器控制台中文乱码
  • 外包功能测试干了4年,技术退步太明显了。。。。。
  • VMWare虚拟机键盘卡顿
  • 主流高级编程语言的推出时间及年份
  • vue脚手架Vue CLI 2.9.6创建工程,并引入elementUI的方法
  • SpringBoot文档管理系统:架构与功能
  • Docker Compose 搭建 Redis 哨兵集群模式搭建详解(1主2从+3哨兵)(包含主从复制的搭建) (保证一遍学会)
  • 【Python大语言模型系列】一文教你使用dify云版本开发一个智能客服机器人(完整教程)
  • 线性判别分析(LDA)中计算两个类的中心点在投影方向w上的投影示例
  • 【质优价廉】GAP9 AI算力处理器赋能智能可听耳机,超低功耗畅享未来音频体验!
  • SpringBoot开发——实现webservice服务端和客户端