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初探

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

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

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

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

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

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

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

    2024年02月05日
    浏览(153)
  • 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日
    浏览(42)
  • C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发

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

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

    windows查看本机host地址

    2024年02月11日
    浏览(41)
  • 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日
    浏览(51)
  • quarkus数据库篇之一:比官方demo更简单的基础操作

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

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

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

    2024年02月04日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包