说明
maven工程,没有引入其他jar,只是使用jdk的功能,使用idea编译成本地可执行程序
修改pom.xml
增加下面 plugin插件:
<build>
<plugins>
<plugin>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>native-image-maven-plugin</artifactId>
<version>21.2.0</version>
<executions>
<execution>
<goals>
<goal>native-image</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<!-- imageName用于设置生成的二进制文件名称 -->
<imageName>findport${version}</imageName>
<!-- mainClass用于指定main方法类路径 -->
<mainClass>findport.FindPort</mainClass>
<!-- native image 编译参数文档:https://docs.oracle.com/en/graalvm/enterprise/20/docs/reference-manual/native-image/NativeImageMavenPlugin/ -->
<buildArgs>
<!-- 构建独立的可执行文件,不依赖jdk -->
--no-fallback
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>
参数解释:https://www.graalvm.org/22.0/reference-manual/native-image/Options/
编译成可执行文件
方式一(简单)
idea
按照下图修改
打包
通过 idea 的 maven 执行 package 命令,即可生成
提示:可能有问题
方式二
在 工程根目录下 执行下面命令:
mvn -Pnative clean package
结果
在 target 目录有 可执行文件
