论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
windows下体验quarkus原生编译打包
windows下体验quarkus原生编译打包
嚴華
金牌会员
|
2024-5-13 12:52:50
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
921
|
帖子
921
|
积分
2763
基础
本机是win10
GraalVM 21.0.2
,用的社区版的最新版本,并配置其bin目录加入环境变量
Maven 3.9.6
,用的最新版本
IDEA,本机版本2023.2.5
Visual Studio 2022 17.9.2
,用的社区版最新版本,quarkus官网提到过
Visual Studio 2017 Visual C++ Build Tools
,可能2017或更高版本的这个也可以,但是由于本机早就装过Visual Studio,所以就没有测试官网提到的工具。
初始
自己从idea中通过quarkus模板创建一个项目即可,勾选Add sample code,组件只选择RESTEasy Reactive即可,idea的社区版可能没有,那就去官网
Quarkus - Start coding with code.quarkus.io
下载初始的配置。
idea中设置好此项目的java和maven的版本,就用上面的版本。
自己在idea中可以运行体验下其功能及速度等。
普通打包
在idea中界面运行打包或是mvn package,此时和我们常用打包根本没有区别,但是:
打包出来的xxx-1.0-SNAPSHOT.jar是没法直接用java -jar运行的,会报xxx-1.0-SNAPSHOT.jar中没有主清单属性的错误。
需切换到target/quarkus-app目录下找到quarkus-run.jar,用这个包来运行才行。
仅仅是运行,如果你想只拷贝这个quarkus-run.jar包到其它地方去执行也行不行的,必须把上面整个目录都拷贝过去才行。
要想只拷贝一个jar包就行,则打包命令需要变成mvn package -Dquarkus.package.type=uber-jar才行,此时打包后直接在target目录下找到xxx-1.0-SNAPSHOT-runner.jar,只拷贝这一个包就可以运行了。
原生打包
GraalVM 21已自带native-image,不需要用gu install native-image等命令这样安装了。
打包前需要配置Visual Studio Installer,点击修改按钮,如果图省事,则可以直接选择使用C++的桌面开发,内里就包罗要安装的:
但实际不需要安装这么多,在单个组件选项中找到MSVC v143 - VS 2022 C++ x64/x86 生成工具(最新)和Windows 10 SDK (10.0.20348.0)(我本机是win10,所以选这个,如果是win11的系统,那就选win11开头的),这两个都找最新的就行,如上图红框。
点击语言包选项,取消中文,只选择英语,否则后续打包会报native-image building on Windows currently only supports target architecture: AMD64错误,参考:
报错办理
原生打包命令mvn package -Dnative,此时运行的话应该还会报一个错误:Failed to find 'vcvarsall.bat',官网提到了一种办理方法,下述命令找到本机上vcvars64.bat实际所在位置替换掉:
cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && mvn package -Dnative'
复制代码
但是感觉更好的方法是直接将这个call语句放到native-image.cmd中(在GraalVM安装目录的bin目录下),打开此文件,在最上方@echo off下添加此调用,参考:
办理方法
@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" > null
复制代码
至此,再运行打包命令,费时会比力长,成功后会打包出xxx-1.0-SNAPSHOT-runner.exe的文件,直接双击就可以运行,而且启动速度起飞。
参考
quarkus实战系列
官方文档:BUILDING A NATIVE EXECUTABLE
(2023版本)GraalVM+native-image+Visual Studio 在Win10上全流程安装(避坑+实操)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
金牌会员
这个人很懒什么都没写!
楼主热帖
iOS全埋点解决方案-用户标识 ...
【万能皆可链接】C++中的动态链接库编 ...
用uniapp实现微信小程序的电子签名效果 ...
MySQL实战45讲 20
【云服务器】推荐阿贝云服务器,目前永 ...
【Javaweb】Web工作原理、两种网页、两 ...
【Selenium+Pytest+allure报告生成自动 ...
Qt-FFmpeg开发-打开本地摄像头(6) ...
Spring Boot 配置文件
微服务介绍
标签云
存储
服务器
快速回复
返回顶部
返回列表