IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CentOS6.9 安装GraalVM -> 正文阅读

[系统运维]CentOS6.9 安装GraalVM

下载GraalVM ,github地址

https://github.com/graalvm/graalvm-ce-builds/releases/

CentOS系统得下载amd64 平台的,可别下载aarch64的(运行不了java命令)

废话不啰嗦了,直接开干!

cd /usr/local/


wget https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-amd64-22.1.0.tar.gzhttps://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-amd64-22.1.0.tar.gz


tar -zxvf graalvm-ce-java11-linux-amd64-22.1.0.tar.gz

# 配置环境变量
vi /etc/profile
添加以下配置:

export JAVA_HOME=/usr/local/graalvm-ce-java11-22.1.0
export GRAALVM_HOME=/usr/local/graalvm-ce-java11-22.1.0
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

然后wq 保存退出

让配置生效
source /etc/profile

测试配置结果
echo $JAVA_HOME
java -version
which java

安装 native-image

gu install native-image是在线安装,可能安装失败,推荐去github上下载对应平台的版本。离线安装命令??gu install -L 文件下载的本地位置
?

国内网络下载比较慢建议进行离线安装

native-image 离线版下载地址:

https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-linux-amd64-22.1.0.jar
?

?安装native image 成功

编译 jar 包

native-image -jar [jar包全路径] [编译后的文件名称]

编译过程

编译结果

可以看到原 jar 包文件大小是 17MB,编译好的二进制文件是 3MB,编译时间为51s

运行编译好的文件

编译好的文件是二进制文件,Linux 环境下可以直接运行。

# 运行
chmod +x demo && ./demo

执行结果

编译器错误gcc:错误:无法识别的命令行选项'-no pie'

这个可能跟系统的默认语言环境有关系,

查看命令:

echo $LANG?

切换系统默认语言环境
CentOS 6 配置文件/etc/sysconfig/i18n

[root@node01 ~]# ?vi ?/etc/sysconfig/i18n

LANG="en_US.UTF-8" ###更改此处###
SYSFONT="latarcyrheb-sun16"

注意:“en_US.UTF-8” 表示英文语言环境,而"zh_CN.UTF-8"表示中文语言环境

source??/etc/sysconfig/i18n

CentOS 7 配置文件/etc/locale.conf

[root@node01 ~]$ vi ?/etc/locale.conf

LANG="en_US.UTF-8"
?

source?/etc/locale.conf



保存后source或者重启即可。

然后 echo $LANG 查看是否修改成

如有需要安装maven的,步骤如下

#修改配置文件 vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin

#重新加载配置 source /etc/profile

#查看maven版本信息 mvn -version

其他问题:

/usr/bin/ld: cannot find -lz
编译的时候出现"/usr/bin/ld: cannot find -lz"错误,需要安装zlib-dev这个包

# 先查看是否有这个包
rpm -qa | grep zlib

# 移除多余的或者重复的包
yum remove ?zlib-1.2.3-29.el6.x86_64

#安装相关依赖
yum install -y zlib zlib-devel

/usr/bin/ld: BFD version 2.20.51.0.2-5.46.el6 20100205 internal error, aborting at reloc.c line 443 in bfd_get_reloc_size

经过分析,centos 6.9的gcc版本低,而且由于centos6官方已经不支持了Centos 7,8 生命周期, 也没法通过yum升级gcc。
重新安装了基于centos7的系统,Mac下使用docker配置Centos7的go开发环境
再次配置好环境编译就没有问题了。
https://blog.51cto.com/u_15127700/4397593
?

参考文档:

Linux环境下GraalVM native-image将jar包编译为二进制

Centos 6/7 更改系统语言




?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:29:48  更:2022-06-01 15:32:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 17:34:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码