VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

有人用GraalVM编译过SpringBoot程序吗?

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

ThinkStu网友说:

OP去年开始关注GraalVM的开发,前天开始想把我写的一些小应用变成可执行的二进制文件,当然是因为服务器的内存不够。据实测,普通的SpringBoot程序在MacOS系统上占用内存200MB左右,转换成可执行文件后占用30MB左右。现在最大的问题是GraalVM+image-native不支持跨端编译!就是在Mac系统上编译的程序不能直接在Linux上运行。Op曾经考虑过把代码转移到Linux服务器上进行编译。结果由于很多依赖问题,它一直报错,两三天也想不出好方法。

Akitora用户回复道:

https://github.com/oracle/graal/issues/407

Oldshensheep用户回复:

用GitHub动作编译。我的简单Web程序是用GitHub action编译的,大家可以参考一下。编译了三端Linux,Mac,Windows,https://github.com/oldshensheep/place还是贴了bug,不知道依赖问题是什么。

Ljhrot用户回复:

Graalvm编译占用内存太大,而且不支持交叉编译,所以我把Linux安装在冗余硬盘上进行编译,相当于匹配了一套与部署环境一致的机器来编译Linux和安装graalvm。你应该没事的。就把错误信息发出来给大家看看,之前想尝试一个新项目,结果第三方依赖静态资源太多,就放弃了,感觉生态还有很长的路要走。

Gakaki网友回复:

Https://github.com/gakaki/spring_template,我写了一个也是github action的。

Gakaki网友回复:

基于docker编译。注意编译一次需要3到5分钟。github action需要自己的机器。你做梦去吧。这个问题最麻烦的就是se运维。遇到麻烦的se可能会给你回电话,不让你用。还必须使用jdk17或以上。

ThinkStu用户回复:

@ oldensheep @ ljhrot当前的错误消息是这样的:Linux虚拟机上的GraalVM环境有问题,参见:

Julyclyde网友回复:

是否/root/。jdks/graalvm-Ce-17/bin/Java文件存在吗?它能跑吗?

Oldshensheep用户回复:

Maven添加了一个-X参数,并查看完整的调试日志记录。

ThinkStu用户回复:

@ oldensheep # 8以下是打印结果:

ThinkStu用户回复:

@julyclyde #7这个命令也完全没问题。

ThinkStu用户回复:

源代码其实是一个小测试用例,已经上传到GitHub:https://github.com/Bistutu/hello_graalvm.

Swhhaa网友回复:

GraalVM可以自己玩。不知道是不是用在生产环境。...

Lff0305用户回复:

尝试在graal home的bin中运行它。/gu列表查看是否安装了本机映像。

ThinkStu用户回复:

@lff0305 #13装了,问题还是一样。

Oldshensheep用户回复:

我用Linux编译了你的代码,可以正常编译运行(ARM,Ubuntu)。你试过以下方法吗,谷歌的CHMOD+X $ Java _ home/lib/jspawnhelper?

Ljhrot用户回复:

Https://imgur.com/a/I6idY2W,你的项目可以正常编译。你的环境可以用native -镜像编译一个Hello World吗?

ThinkStu用户回复:

@ oldensheep # 15我换了arm架构的虚拟机,编译正常,但是为什么Intel还是没有成功?暂时不知道为什么。

ThinkStu用户回复:

@ljhrot #16我想问一下,你这个机器是arm的还是intel的?

Ljhrot用户回复:

@ThinkStu #18 amdx64 [DOGE]

ThinkStu用户回复:

谢谢大家的帮助!本帖结束

ThinkStu用户回复:

我只是在不同的情况下用了三个虚拟机,编译结果如下(原生MacOS系统,M1 pro芯片):1。orbStack模拟arm虚拟机:编译通过,可执行文件正常生成。2.orbStack模拟Intel虚拟机:编译失败,报告未知错误。3.阿里云Intel服务器:正常编译生成可执行文件。

Gakaki网友回复:

其实最后还是会用ci系统编译,也就是docker编译和arm自己本地的。

一位女性用户回答道:

跳羚也会降低记忆力吗?奇迹

Wdwwtzy用户回复:

否则,请考虑切换到。网?

ThinkStu用户回复:

@awolf原来编译的是jar包,现在编译成可执行文件,不需要JVM的参与,内存利用率自然下降(虽然编译出来的程序性能也会下降一点)。

ThinkStu用户回复:

@wdwwtzy哈哈,不过Java开发者可能会选择转行先走。

Flyqie用户回复:

@ThinkStu #26应该不会优先去。java和go在很多方面都有不同的思路。。似乎更容易切入。网。

Cheng6563用户回复道:

使用openj9 jvm

Yazinnnn网友回复:

Aot也需要jvm。

Huelse用户回复道:

静态图像至今没有编译成功,有些解决方案很难发现隐藏在他们的问题。

ThinkStu用户回复:

@Huelse写了一篇博客《GraalVM编译SpringBoot程序》,希望能帮到你~:https://blog.csdn.net/QQ _ 35760825/article/details/130459747?spm=1001.2014.3001.5501

ThinkStu用户回复:

@cheng6563谢谢兄弟,我也试过。openj9平均减少运行内存20% ~ 50%。对于个人开发者来说,确实是一个不错的解决方案。

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:有人用GraalVM编译过SpringBoot程序吗? https://zhujicankao.com/93034.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 有人用GraalVM编译过SpringBoot程序吗?
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!