windows 7 离线安装vs20219,GraalVM 打包java成可执行程序

news2024/12/24 0:47:44

环境准备

由于vs2022不支持windows 7 ,故用vs2019版。
如果是 win7 系统,在安装下载的依赖项前需要安装 win7 所需要的两个补丁 KB4490628和KB4474419 ,下载地址分别为(下载后直接安装即可):
参考这篇博客:https://blog.csdn.net/qq_44732146/article/details/128868877

然后安装vs2019。
参考这篇博客:https://blog.csdn.net/qq_44732146/article/details/128866566
这篇博客写的2022版的,去官网下载2019版的进行安装即可

安装完成需要配置环境变量。
因为native-image直接生成了二进制文件,以加快执行速度。所以这里需要导入C库

一开始如果没有装过visual studio,这里需要装一下,选择C++和组件

接下来分别配置INCLUDELIB,Microsoft Visual Studio的位置是自己安装的位置,其他的除去版本号之外几乎一致
在这里插入图片描述
INCLUDE的参数:

C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared

LIB参数:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64
C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\lib\x64

新增系统path变量
在这里插入图片描述

C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64

注意:
具体位置要根据vs2019的安装目录而定
若没有配置环境变量,以后的编译命令都是在vscode的命令簿下执行的
在这里插入图片描述
在这里插入图片描述

GraalVM安装
(1)下载GraalVM

进入官网下载:https://www.graalvm.org/downloads/
在这里插入图片描述
在这里插入图片描述
(2)配置环境变量

添加GRAALVM_HOME
在这里插入图片描述
JAVA_HOME修改为graalvm的位置
在这里插入图片描述
把Path修改位graalvm的bin位置
在这里插入图片描述
使用命令查看是否安装成功
在这里插入图片描述
(3)安装native-image插件

在线安装:使用命令 gu install native-image下载安装
在这里插入图片描述
离线安装:
首先去下载安装包:https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.1
在这里插入图片描述
下载地址:https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/native-image-installable-svm-java17-linux-amd64-22.3.1.jar

离线安装命令 gu install -L 文件下载的本地位置

gu install -L  native-image-installable-svm-java17-linux-amd64-22.3.1.jar

查看插件如下证明Graal插件安装成功

gu list

在这里插入图片描述

编写代码,构建Native Image

(1)编写Java代码

 public class Hello {

    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

在这里插入图片描述

(2)执行编译

javac Hello.java

在这里插入图片描述

(3)Native Image 进行构建

native-image Hello

在这里插入图片描述
在这里插入图片描述

(4)查看构建的文件
在这里插入图片描述

(5)执行构建的文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vite --- 搭建开发环境

目录 下载安装和初始化VSCode 安装Node.js yarn 使用 pnpm 安装与使用 搭建第一个Vite项目 使用 PNPM创建项目 项目目录解读 下载安装和初始化VSCode 1、访问网站 Visual Studio Code - Code Editing. Redefined 2、选择平台版本 选择符合自己操作系统的安装包下载完毕…

接口测试及接口抓包常用的测试工具有哪些?

目录 接口 接口测试的重要性 常用抓包工具 01、F12 02、Fiddler抓包工具 03、Charles抓包工具 04、Firebug抓包工具 05、httpwatch抓包工具 06、Wireshark抓包工具 07、SmartSniff抓包工具 常用接口测试工具 01、Postman 02、Jmeter 03、RESTClient 04、WireMock…

655. 汽车大甩卖2 etiger.vip 答案

题目描述 有n辆车大甩卖,第i辆车售价a[i]元。有m个人带着现金来申请购买,第i个到现场的人带的现金为b[i]元,只能买价格不超过其现金额的车子。你是大卖场总经理,希望将车和买家尽量多地进行一对一配对,请问最多卖出多…

Qt 开发环境搭建

一、Qt下载与安装 1、qt下载网站https://download.qt.io/ 其中各个目录含义如下: 目录说明snapshots/预览版,最新开发测试的Qt库和开发工具online/在线安装源official_releases/正式发布版,是与开发版相对应的稳定版Qt库和开发工具&#x…

利用哨兵简化实现难度

首先先回顾一下链表的插入和删除,如果需要在一个结点p后边插入一个结点,那么只需要下边两行代码: new_node->next p->next; p->next new_node;但是当往链表插入第一个结点时候,上边的代码就不能用了。需要进行下边的处…

【vue2】vue框架学习前置必备基础知识

🥳博 主:初映CY的前说(前端领域) 🌞个人信条:想要变成得到,中间还有做到! 🤘本文核心:数组 | 字符串中常用方法、对象解构语法、function |箭头函数this指向、展开运算符、原型…

为了会做题而学习期权合约

基本术语 买入期权:按照固定价格购买特定物品的期权。卖出期权:按照固定价格出售特定物品的期权。执行价格:期权合约中约定的固定价格。到期日:在其后期权不再被执行的日期。欧式期权:期权只能在到期日当日被执行。美…

python带你采集热点事件,让你第一时间掌握全发展

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 开发环境: python 3.8: 解释器 pycharm: 代码编辑器 requests: 发送请求 parsel: 解析数据 jieba pandas stylecloud 实现流程: 一. 思路分析 找到数据来源 network 记录网页数据 请求 二…

windows下djaongo项目移植至centos7系统并启动

概述:在windows下开发完成的django项目需要移植至centos系统并启动。 文章目录1,在django项目目录下生成requirements.txt文件2,下载FileZilla安装并连接Linux系统3,本地传输文件至linux系统3.1,可用vim修改settings.py的参数4,安装requirements.txt依赖包5,启动项目…

pwn小白入门 装载 笔记

所看视频奉上:5、装载与汇编_哔哩哔哩_bilibili笔记如下:1.查看文件类型:file 文件名其中:add:文件名ELF:文件格式64-bit:64位LSB:端序 lsb:小端序 msb:大端序x86-64:架构…

sqlserver2012数据库,日志文件损坏修复

背景 服务器突然断电,导致数据库日志文件损坏,数据库无法启动。 本方案也同样适用于不小心删除数据库日志文件的情况。 相关报错 master数据库日志异常,导致数据库无法启动: 无法在数据库“master”(数据库 ID 为 1)的分配单元 …

windows下生成自签证书并配置到chrome

Windows自签证书生成工具:XCA – X Certificate and Key Management 简称:XCA 下载地址: https://github.com/chris2511/xca/releases 或者 http://sourceforge.net/projects/xca/files/latest/download 界面(1.4.1版本&#xff0…

从0开始学python -19

Python3 字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示: d {key1 : value1, key2 : value2, key3…

剑指Offer 第23天 数组中出现次数超过一半的数字 数组中数字出现的次数 I 数组中数字出现的次数 II(异或运算)

剑指 Offer 39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 来源:力扣&a…

Python自动化测试实战篇(2)unittest实现批量接口测试,并用HTMLTestRunner输出测试报告

代码已上传Python接口项目实战篇(2)源码 项目场景: 由于关于接口的测试用例任务越来越多,单纯靠人工手敲的方式输入和校验,速度上已经不能够满足项目的进行速度,而且都是针对登录的框框进行用例测试&…

一站式轻监控轻运维系统nezha(下篇)

本文软件由网友 114514 推荐; 命令行安装 docker安装所需要的文件都能在 https://github.com/naiba/nezha/tree/master/script 找到,config.yaml 和 docker-compose.yml 老苏都做了调整 你可以在 data 目录中新建一个空的 config.yaml 文件,…

基于“Doris”的type2拉链表的Mysql实现

基于“Doris”的type2拉链表的Mysql实现 需求说明 基于Doris实现Type2、拉链表。主要对上游系统里的面积字段进行监控,如果发现变化则跟踪记录到维度表里。 解决方案 type2相关概念见如下链接: SCD缓慢变化维拉链表 这里特别需要注意的是: 1、因为…

scrapy_redis原理分析并实现断点续爬以及分布式爬虫

scrapy_redis原理分析并实现断点续爬以及分布式爬虫 学习目标 了解 scrapy实现去重的原理了解 scrapy中请求入队的条件掌握 scrapy_redis基于url地址的增量式单机爬虫掌握 scrapy_redis分布式爬虫 1. 下载github的demo代码 clone github scrapy-redis源码文件 git clone http…

WPF TotalSummary汇总栏设置鼠标点击事件和显示格式修改

文章目录最开始的提示汇总有两种Summary Panel的设置参考这里Fixed Summary Panel的设置参考这里代码中都用到了DXBinding多个汇总项,对某一项进行控制设置鼠标点击事件整体的xaml代码如下总结最开始的提示 WPF毕竟是微软的东西,且用的人不多&#xff0…

虚函数的复杂(继承)内存布局

文章目录单继承(无虚函数覆盖)单继承(有虚函数覆盖)多继承(无虚函数覆盖)多继承(有虚函数覆盖)菱形继承(有虚函数覆盖)菱形虚拟继承(有虚函数覆盖…