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

devtools/2024/10/22 3:02:48/

quarkus_0">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__99">运行方式三: 把原生可执行包 做成 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.ppmy.cn/devtools/115086.html

相关文章

java: 程序包org.junit.jupiter.api不存在

明明idea没有报错,引用包也没问题,为啥提示java: 程序包org.junit.jupiter.api不存在? 配置!还TMD是配置! 如果是引用包的版本不对或者其他,直接就是引用报错或者pom里面飘红了。 这个应该是把generat…

网页交互模拟:模拟用户输入、点击、选择、滚动等交互操作

目录 一、理论基础 1.1 网页交互模拟的重要性 1.2 网页交互的基本原理 二、常用工具介绍 2.1 Selenium 2.2 Puppeteer 2.3 Cypress 2.4 TestCafe 三、实战案例 3.1 模拟用户输入 3.2 模拟用户点击 3.3 模拟用户选择 3.4 模拟滚动操作 四、最佳实践与优化 4.1 代…

mysql学习教程,从入门到精通,SQL 更新数据(UPDATE 语句)(17)

1、SQL 更新数据(UPDATE 语句) SQL UPDATE 需要指定要更新的表、要修改的列以及新值,并且通常会通过WHERE子句来指定哪些行需要被更新。下面是一个简单的示例,说明如何使用UPDATE语句。 假设我们有一个名为employees的表&#xf…

STM32获取温度3种方法

在STM32微控制器上直接获取CPU温度并不像在一些包含内置温度传感器的高端微处理器(如某些ARM Cortex-A处理器)上那样直接。STM32微控制器通常不内置专门的温度传感器。不过,你可以通过几种方法来估算或测量与CPU温度相关的数据。 方法一&…

数据库数据恢复—Oracle报错“需要更多的恢复来保持一致性”的数据恢复案例

Oracle数据库故障&检测: 打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,…

Thymeleaf

Thymeleaf 是一种用于 Web 和独立环境的现代服务器端 Java 模板引擎&#xff0c;它能够处理 HTML、XML、JavaScript、CSS 等多种类型的文件。 构建项目: 添加依赖: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.a…

【JavaEE初阶】多线程(5 单例模式 \ 阻塞队列)

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 实例1: 单例模式 饿汉模式 懒汉模式 实例2:阻塞队列 生产者消费者模型 优点 ​编辑 代价 简单实现一个生产者消费者模型 Java标准库中的阻塞队列 ​编辑 模拟实现一…

记录|C#的资源路径设置的资料整理

目录 前言一、在这里插入图片描述 https://bbs.csdn.net/topics/360001606 二、三、添加到资源文件中四、获得图片的三种路径方法五、给资源文件添加文件夹更新时间 前言 参考文章&#xff1a; 原本以为C# winform中进行图片等文件的路径的读取是直接可以按照资源文件中显示的来…