GraalVM的使用

GraalVM的使用

在Windows下交叉编译Spring Boot为Linux可执行文件

  • Spring Boot在使用Gradle的nativeCompile构建时会在.\build\native\nativeCompile下生成native-image需要的参数文件
  • 然后修改该参数文件将其正确映射到WSL的文件系统,命令行中分割Jar包的符号在Windows下为;,但在Linux下为:
  • 然后使用命令编译
1
2
3
docker run -it --rm --entrypoint bash -v <对应的文件路径映射> ghcr.io/graalvm/native-image:muslib-ol7-java17
sed -i -e 's/\\\\\\\\/\//g' -e 's/<盘符>:/<对应的文件路径映射>/g' -e 's/;/:/g' .../native-image.args
native-image --static --libc=musl @native.args