首页 > 系统相关 >windows下体验quarkus原生编译打包

windows下体验quarkus原生编译打包

时间:2024-03-09 17:11:50浏览次数:44  
标签:windows jar 编译 Visual Studio quarkus 版本 打包

基础

初始

  • 自己从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++的桌面开发,里面就包含要安装的:

  • 但实际不需要安装这么多,在单个组件选项中找到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的文件,直接双击就可以运行,而且启动速度起飞。

参考

标签:windows,jar,编译,Visual,Studio,quarkus,版本,打包
From: https://www.cnblogs.com/vishun/p/18062980

相关文章

  • 09在VMWare中初步安装Windows10系统
    在VMWare中初步安装Windows10系统在本节中,我们使用VM初步安装一个Windows10虚拟机.为什么说是"初步"呢?因为本节的方法不涉及高级步骤(如使用PE系统等),主要目的让你熟悉首次安装系统的流程.高级方法安装系统会在未来介绍.新建虚拟机在VM中,点击新建虚拟机操作方法:1.选......
  • 常用的Windows快捷键和Dos命令
    掌握一些基础的快捷键和Dos命令可以极大提升玩机效率,下面是一些最基础常用的快捷键和命令,欢迎留言补充。Windows快捷键复制Ctrl+c粘贴Ctrl+v全选Ctrl+a剪切Ctrl+x撤销Ctrl+z保存Ctrl+s关闭窗口Alt+F4永久删除Shift+Delete运行Windows+r我的电脑Windows+e任......
  • ubuntu22.04编译创龙T113-i mini的SDK
    ubuntu版本22.04.11.解压安装包拷贝sdk并解压出来,注意安装包较大请预留好硬盘空间2.预安装编译应用先安装如下应用,在编译过程中需要使用到的依赖sudoaptinstallbuild-essentialcmakeflexbisonu-boot-toolsopenssllibssl-devtexinfo3.安装和更换python2编译使......
  • 【深度解析】'go build'缓存机制:揭秘Windows下缓慢的原因
    引言本文主要围绕gobuild的缓存hash计算与获取缓存文件来编写。  笔者是Windows系统用户,在gobuild或golist-export一些需要编译(但已存在编译缓存)场景下执行的很慢。网上有很多说法大多都是说关闭杀毒软件、关闭磁盘扫描等,并未清楚的描述为什么。  接下来我将围绕g......
  • windows安装RocketMQ
    一、RocketMQ介绍1.开发指南:Gitee中文学习地址(https://www.processon.com/view/link/620c69d95653bb4ec5bb75cd#map)二、RocketMQ下载官方下载地址::https://rocketmq.apache.org/zh/download三、安装部署过程(带!为非必要操作)1.Java环境classpath.;%JAVA_HOME%\lib\dt.ja......
  • 如何在c#中禁用Windows键
    usingSystem;usingSystem.Runtime.InteropServices;usingSystem.Windows.Forms;publicclassKeyboardHook:IDisposable{privateconstintWM_KEYDOWN=0x0100;privateconstintWM_KEYUP=0x0101;privateconstintWM_SYSKEYDOWN=0x0104;......
  • 完全颠覆Windows使用体验!微软将在今年发布“AI Explorer”
    据WindowsCentral报道,微软将在今年晚些时候在Windows11上推出一系列AI功能,其中就包括被内部称为“AIExplorer”的新功能。据消息人士透露,“AIExplorer” 被微软描述为“高级Copilot”,是将AIPC与非AIPC区分开来的重磅AI体验。其内置的历史记录/时间线功能可以在所有应用中......
  • windows系统关闭指定端口
    前言有时候启动程序时会提示Addressalreadyinuse,意思就是启动项目的端口已经被别的程序占用。此时可以查询是哪个程序占了该端口,并且把占用端口的进程kill掉。一、windows系统关闭指定端口1、打开cmd输入netstat-ano|findstrxxx查看占用该端口的进程PID,其中xxx为具体的端......
  • windows 10/11 下安装 ssh 服务
    https://zhuanlan.zhihu.com/p/634969945 windows一般自带ssh服务,只是需要去把服务开启下:检查OpenSSH的可用性以管理员身份打开PowerShell并运行:Get-WindowsCapability-Online|Where-ObjectName-like'OpenSSH*'命令返回Name:OpenSSH.Client~~~~0.0.1......
  • python3.7.4 RV1126 交叉编译
    首先,十分感谢大佬分享的交叉编译攻略,原文链接如下:https://www.cnblogs.com/Se7eN-HOU/p/16736164.html在此基础上,本人经过一周时间的踩坑,终于在RV1126开发板上实现了交叉编译。现记录本人实际编译版本与上述版本略有不同之处。主要是由于3.5.2版本的python和openssl1.0.2g在......