GraalVM - 创建一个GraalVM项目
目前Idea不支持直接创建Graalvm项目,Graalvm文档官网的东西又只提供了构建单文件的例子,但是甲骨文给了几个创建的例子:https://github.com/graalvm/native-build-tools,可以依托于Gradle或者Maven创建项目。
因为graalvm貌似没有完善,所以说你得去https://central.sonatype.com/artifact/org.graalvm.buildtools/native-maven-plugin/overview看看native-build-tools的最新版本,他的samples里面的版本可能太新或者太老。
pom.xml示例
这里提供一个简单例子,Gradle更简单甚至有代码补全,就不贴出来了。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>GraalVM</artifactId>
<version>1.0.0</version>
<properties>
<packaging>jar</packaging>
<maven.compiler.source>22</maven.compiler.source>
<maven.compiler.target>22</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdk.version>22</jdk.version>
<release.version>22</release.version>
<mainClass>org.example.Main</mainClass>
<native.maven.plugin.version>0.10.2</native.maven.plugin.version>
</properties>
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>${native.maven.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>graalvm-native-build-tools-snapshots</id>
<name>GraalVM native-build-tools Snapshots</name>
<url>https://raw.githubusercontent.com/graalvm/native-build-tools/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
当正确导入后,右边就会出现native有关的插件选项
设置GraalVM环境变量
双击build大概率会出现以下错误
export PATH=/root/graalvm/graalvm-jdk-22/bin:$PATH
export JAVA_HOME=/root/graalvm/graalvm-jdk-22
export GRAALVM_HOME=/root/graalvm/graalvm-jdk-22
添加一下环境变量设置一下目录就好了。(可能需要重新启动一下IDE)
如果设置还是失败,那么打开您的IDE,按照下图设置一下环境变量?
接下来您就可以自由的运行您的GraalVM代码了,点击build
(compile-no-fork
)完成编译后,就可以原地运行了!(Windows在编译前会要求你配置WIndows SDK,为了良好开发体验,极其不建议使用WIndows平台!)
有时候你的代码已经更改但是直接Build却依旧构建的老版本的代码,是因为
nativer::build
之前没有进行java::build
, GraalVM是基于JVM字节码进行的AOT编译,而不是直接AOT(不可理喻)...