windows下体验quarkus原生编译打包

这篇具有很好参考价值的文章主要介绍了windows下体验quarkus原生编译打包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础

  • 本机是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中设置好此项目的javamaven的版本,就用上面的版本。
  • 自己在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++的桌面开发,里面就包含要安装的:

windows下体验quarkus原生编译打包

  • 但实际不需要安装这么多,在单个组件选项中找到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错误,参考:报错解决

windows下体验quarkus原生编译打包

  • 原生打包命令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的文件,直接双击就可以运行,而且启动速度起飞。

参考

  • (2023版本)GraalVM+native-image+Visual Studio 在Win10上全流程安装(避坑+实操)

  • quarkus实战系列

  • 官方文档:BUILDING A NATIVE EXECUTABLE文章来源地址https://www.toymoban.com/news/detail-837740.html

到了这里,关于windows下体验quarkus原生编译打包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Java云原生框架Quarkus初探

    Java云原生框架Quarkus初探

    Quarkus 是一个云原生,容器优先的Java应用框架,它号称是超音速和亚原子的框架,主要特点是构建速度、启动速度快和占用资源少等特点。它为OpenJDK HotSpot和GraalVM量身定制, 根据Java库和标准精心打造的框架。主要有以下特性: 容器优先。Quarkus为GraalVM和HotSpot定制应用程序。

    2024年02月12日
    浏览(11)
  • 构建新一代的K8s原生Java微服务+Quarkus实战

    构建新一代的K8s原生Java微服务+Quarkus实战

    送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 送书第五期 《Kubernetes原生

    2024年02月08日
    浏览(13)
  • dotnet SemanticKernel 入门 调用原生本机技能

    本文将告诉大家如何在 SemanticKernel 里面调用原生本机技能,所谓原生本机技能就是使用 C# 代码编写的原生本地逻辑技能,这里的技能可讲的可不是游戏角色里面的技能哈,指的是实现某个功能的技能,这是构成 AI 强大能力的基础 本文属于 SemanticKernel 入门系列博客,更多博

    2024年02月10日
    浏览(10)
  • Windows Java JavaFX IntelliJ IDEA 开发环境搭建 创建工程 编译运行 打包分发 自定义运行时

    Windows Java JavaFX IntelliJ IDEA 开发环境搭建 创建工程 编译运行 打包分发 自定义运行时

    博文目录 JavaFX 官网 官网 Getting Started with JavaFX JavaFX 是一个开源的下一代客户端应用程序平台,适用于基于 Java 构建的桌面、移动和嵌入式系统。它是许多个人和公司的协作成果,目标是为开发富客户端应用程序生成一个现代、高效且功能齐全的工具包。 JavaFX 主要致力于富

    2024年02月05日
    浏览(14)
  • macOS 13(本机)golang程序交叉编译成 ARM架构

    macOS 13(本机)golang程序交叉编译成 ARM架构

    ## 背景 golang程序(JuiceFS)需要支持ARM64架构,重新编译; 本地环境:macOS:13 ## 操作 安装交叉编译工具: 可以在 /usr/local/bin 找到musl相关的工具命令 Makefile ## 参考 https://saekiraku.github.io/article/18577/ https://liujinye.gitbook.io/openshift-docs/raspberry-pi/macosgolang-bian-yi-arm-huan-jing-gosqlite3-

    2024年01月17日
    浏览(10)
  • C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发

    C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发

    微软的.net core开发工具,目前来看,winform界面软件还没有打算要支持linux系统下运行的意思,要想让c#桌面软件在linux系统上运行,开发起来还比较麻烦。微软只让c#的控制台软件支持在linux运行。 我想到的一个方案是自定义封装软件的System.Windows.Forms组件,把支持windows和lin

    2024年02月08日
    浏览(15)
  • windows查看本机host地址

    windows查看本机host地址

    windows查看本机host地址

    2024年02月11日
    浏览(11)
  • Windows系统如何查看本机ssh公钥?

    Windows系统如何查看本机ssh公钥?

    本机存在ssh key 在安装Git前提下,打开Git Bash Here 输入 cd ~/.ssh 进入到.ssh 文件夹 输入 ls 查看.ssh 文件夹里面的文件,有 【id_rsa】【 id_rsa.pub】 known_hosts ,ssh秘钥就在 id_rsa.pub文件里 id_rsa是私钥,不能泄露出去 id_rsa.pub是公钥,可以放心地告诉任何人 输入cat id_rsa.pu,直接复制

    2024年02月11日
    浏览(13)
  • quarkus数据库篇之一:比官方demo更简单的基础操作

    quarkus数据库篇之一:比官方demo更简单的基础操作

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《quarkus数据库篇》系列是《quarkus实战》的子系列,目标是与大家一起在quarkus框架下完成常用的数据库操作,如配置、增删改查、事物等 本篇敢号称 比官方demo更简单 ,是因为官方关于操作数据库的

    2024年02月13日
    浏览(10)
  • windows10 docker desktop与本机数据拷贝

    windows10 docker desktop与本机数据拷贝

    目录 前景提示 一、构建环境 二、安装测试需要的nginx 三、 docker文件拷贝到windows本地 总结 发现只有docker关于docker拷贝linux内部文件的命令,但是,对于window系统就没有相关的答案,因此经过研究找了一个处理的方法。 序号 软件 相关文章 1 Docker https://www.cnblogs.com/liuyangfirs

    2024年02月04日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包