1
Akitora 362 天前 via Android
|
2
oldshensheep 362 天前
用 GitHub Action 编译。我这个简单的 Web 程序就是用 GitHub action 编译的,可以参考一下。编译了三端 Linux ,Mac ,Windows ,https://github.com/oldshensheep/place
或者把报错贴出来,我也不知道你说的依赖问题是什么。 |
3
ljhrot 362 天前 via Android
graalvm 编译占用太多内存这个问题一直存在,加上不支持交叉编译,所以我在多余的硬盘上装了 Linux 用来编译,相当于得配一套跟部署环境一致的机器专门来编译
Linux 安装 graalvm 应该还好吧,你直接把报错信息发出来让大伙瞧瞧 我之前是想在一个新项目尝尝鲜,结果第三方依赖的静态资源太多,搞不动就放弃了,感觉生态还有很长的路要走 |
4
gakaki 362 天前
https://github.com/gakaki/spring_template 我写了一个也是 github action 的
|
5
gakaki 362 天前
基于 docker 编译 注意编译一次要 3 到 5 分钟要 github action 自己本机还算了吧 这题最麻烦的还是 se 运维, 遇到麻烦的 se 可能给你打回不让你用, 还必须用 jdk17 以上
|
6
ThinkStu OP |
7
julyclyde 362 天前
那个 /root/.jdks/graalvm-ce-17/bin/java 文件存在吗?能运行吗?
|
8
oldshensheep 362 天前
maven 添加个-X 参数,看看 full debug logging
|
9
ThinkStu OP |
11
ThinkStu OP 源码其实就是一个很小的测试案例,已经上传至 GitHub: https://github.com/Bistutu/hello_graalvm
|
12
swhhaa 362 天前
GraalVM 自己玩还行,不知道有没有用于生产环境的...
|
13
lff0305 362 天前 via Android
试试在 graal home 的 bin 里运行
./gu list 看看有没有装好了 native image |
15
oldshensheep 362 天前 1
你的代码我用 Linux 编译了可以正常编译运行( ARM ,Ubuntu )
Failed to spawn exec helper 有没有试过下面的方法,Google 的 chmod +x $JAVA_HOME/lib/jspawnhelper |
16
ljhrot 362 天前
|
17
ThinkStu OP @oldshensheep #15 我切换到 arm 架构的虚拟机,也能正常编译了,不过为什么 Intel 还是没有成功,暂时不知道原因
|
20
ThinkStu OP 感谢大家的帮助!此贴终结🙆。经过测试,原因已经找到:可能是因为利用 orbStack 创建出来的 Intel 虚拟机存在问题,导致一直无法正常编译(因为我是 MacOS 系统,M1 pro 芯片 )。
|
21
ThinkStu OP 我刚才使用了 3 种不同情境的虚拟机,编译结果如下(本机 MacOS 系统,M1 pro 芯片):
1 、orbStack 模拟 arm 虚拟机:编译通过,正常生成可执行文件。 2 、orbStack 模拟 Intel 虚拟机:编译失败,未知报错。 3 、阿里云 Intel 服务器:编译通过,正常生成可执行文件。 |
22
gakaki 362 天前
实际上最后还是要用 ci 系统来编译的 也就是 docker 编译 而本地用 arm 自己的即可
|
23
awolf 362 天前
springboot 也能减少内存?奇迹
|
24
wdwwtzy 362 天前 1
|
28
cheng6563 361 天前 1
用 openj9 jvm 啊
|
29
yazinnnn 361 天前
aot 也需要 jvm
|
30
Huelse 361 天前
至今没成功编译 static image ,有些解决方案藏在他们的 issue 里很难找。
|
31
ThinkStu OP @Huelse 写了一篇博客《 GraalVM 编译 SpringBoot 程序》,希望对你有所帮助~: https://blog.csdn.net/qq_35760825/article/details/130459747?spm=1001.2014.3001.5501
|
33
coderstory 332 天前
openj9 对于某项项目 会导致启动很慢 我已经弃用了
|
34
byte10 323 天前
我的那个 alist-encrypt 用的是 nodejs ,先用 ncc 整合编译单个文件,然后用 pgk 进行打包可执行文件。后来又研究了一下 wasm ,挺不错的东西,但是也有很多局限,也不能很好的打包编译。看来还是 go 牛逼点。
|