IDAE中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.xdnf.cn/news/146806.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

单元测试、集成测试、系统测试有什么不同?

单元测试、集成测试和系统测试是软件测试开发中不可或缺的部分。 单元测试: 范围:单元测试是对软件中最小的可测试单元的测试,通常是函数、方法或类。 目的:它的目标是验证每个单独的单元是否按照预期工作,以增加代码…

数据转换器——佛朗哥Chater 1

【注:本文基于《数据转换器》一书进行学习、总结编撰,适合新手小白进行学习】 目录 1.1 理想的数据转换器 1.2 采样 1.2.1 欠采样 1.2.2 采样时间的抖动(A/D转换的第一个精度限制) 1.3 幅度的量化 1.3.1 量化噪声(基本限制) 1.3.2 量化噪声的性质 1.4 KT/C噪声(…

Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】

阅读导航 引言一、互斥锁1. QMutex(1)基本概念(2)使用示例基本需求⭕thread.h⭕thread.cpp⭕widget.h⭕widget.cpp 2. QMutexLocker(1)基本概念(2)使用示例 3. QReadWriteLocker、QR…

【Linux】简易日志系统

目录 一、概念 二、可变参数 三、日志系统 一、概念 一个正在运行的程序或系统就像一个哑巴,一旦开始运行我们很难知晓其内部的运行状态。 但有时在程序运行过程中,我们想知道其内部不同时刻的运行结果如何,这时一个日志系统可以有效的帮…

软考无损连接判断

如何判断是否为无损连接,要看能否还原回最开始的关系模式 最开始的关系模式 U{A,B,C} 函数连接 F{A -> B},这个函数连接的意思就是A可以推导出B 首先从P1开始判断,{ AB,BC } C不能通过函数依赖推导出来…

数据结构之线性表——LeetCode:328. 奇偶链表,86. 分隔链表,24. 两两交换链表中的节点

328. 奇偶链表 题目描述 328. 奇偶链表 给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。 第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。…

头条|司法部公法局局长访谈:推进高水平公立鉴定机构建设!加快推进司法鉴定立法!

主持人:大家好,我是司法部AI主播司政轩。为切实做好党的二十届三中全会精神学习宣传贯彻,积极反映司法部及地方司法行政机关学习全会精神的体会收获和贯彻落实举措,我们推出了“学习宣传贯彻党的二十届三中全会精神--司法行政微访…

Elasticsearch 检索优化:停用词的应用

Elasticsearch 检索优化:停用词的应用 场景描述 目前在 Elasticsearch 集群中存储约 1.5 亿篇文章数据,随着数据量的增加,检索性能问题逐渐显现。在列表检索和聚合操作中,CPU 消耗飙升至 100%,并且检索耗时较长&…

私域电商:自主发展新路径与创新模式融合

摘要:本文深入探讨了私域电商相较于传统电商在自主权方面的优势,并结合 AI 智能名片、链动 21 模式以及商城小程序等创新元素,阐述了私域电商如何为商家提供更大的发展空间和自主权,以及这些创新模式在私域电商中的应用价值&#…

口碑最好的头戴式耳机是哪些?高品质头戴式耳机对比测评揭晓

头戴式耳机以其出色的音质表现和舒适的佩戴体验,成为了音乐爱好者和日常通勤用户的热门选择。而在众多品牌和型号中,口碑最好的头戴式耳机是哪些?面对市场上丰富的选择,找到一款音质优良、佩戴舒适且性价比高的耳机并不容易。今天…

ESP8266+DHT11+Python制作一个物联网温湿度传感器

ESP8266是一款低功耗、高集成度的Wi-Fi SOC(System on Chip,系统级芯片),这款芯片专为物联网(IoT)应用而设计,常见开发ESP8266的环境可以使用Arduino或者ESP8266 RTOS SDK、NodeMCU,…

【JavaScript】数据结构之链表(双指针、滑动窗口)

什么是链表? 多个元素存储的列表链表中的元素在内存中不是顺序存储的,而是通过“next”指针联系在一起的,这个“next”可以自定义。JS中的原型链原理就是链表结构,是通过__proto__指针联系在一起的。 双指针形式 对撞指针&am…

你还在为试衣间排队烦恼吗?AI魔法绘,让虚拟试衣触手可及!

我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 大家好!今天我要跟大家聊聊一个超级有趣又实用的新…

施耐德EcoStruxure Machine SCADA Expert(EMSE)报警记录进阶(十六)

针对某些特殊行业(诸如医药行业)的设备生产需要符合GMP相关规定,这就导致需要数据溯源。 EMSE可以通过与sql的连接实现报警历史记录的永久存储。 1.EMSE打开相关配置 2.sql创建表单 用于报警历史数据的存储容器 3.EMSE内选择sql表单 4.现在…

mistune,一个神奇的 Python 库!

大家好,今天为大家分享一个神奇的 Python 库 - mistune。 Github地址:https://github.com/lepture/mistune Markdown 是一种轻量级的标记语言,以其简洁的语法和可读性广泛应用于文档编写、博客发布和在线内容管理系统中。Python 作为一门灵活…

【ESP32】ESP-IDF开发 | UART通用异步收发传输器+串口收发例程

1. 简介 UART可以说是开发者使用得最多的外设之一了,打印log几乎都是使用串口来实现的。UART是一种异步全双工的通信方式,异步传输的特性使得它仅需2根线就可以完成全双工的传输,但这也要求发送端和接收端的速率、停止位、奇偶校验位等都要相…

分布式计算技术是什么?在数据集成值得作用?

数据是现代科技技术的基础,面对爆炸性数据的增长,要求计算能力要求更高、数据整合和处理更有效,如何应对数据集成带来的挑战?本文将探讨分布式计算技术在数据集成中的优化作用。 一 分布式计算技术。 定义:分布式计算…

笔记:将WPF中可视化元素(Visual)保存为图像,如PNG,JPEG或BMP的方法简介

一、目的:将WPF中可视化元素(Visual)保存为图像,如PNG,JPEG或BMP的方法简介 BitmapEncoder 是 WPF 中用于将图像数据编码为特定格式的基类。它提供了将 BitmapSource 对象保存为各种图像格式(如 PNG、JPEG、BMP 等&…

Android Choreographer 监控应用 FPS

Choreographer 是 Android 提供的一个强大的工具类,用于协调动画、绘制和视图更新的时间。它的主要作用是协调应用的绘制过程,以确保流畅的用户体验。Choreographer 也可以帮助我们获取帧时间信息,从而为性能监测和优化提供重要的数据支持。 …

C++—vector的常见接口与用法(正式进入STL)

目录 0.提醒 1.介绍 2.构造 1.正常构造 2.默认值构造 3.调用默认构造函数构造 3.遍历 1.迭代器 2.范围for 3.下标访问 4.容量 1.capacity:返回当前容器的容量 2.reserve:如果传的k比当前容量大,则扩容到比k大或者等于k的数&…