◀返回
从JAR文件构建原生可执行文件
您可以从类文件、JAR文件或模块构建原生可执行文件。本指南演示如何从JAR文件构建原生可执行文件。
要在当前工作目录中从JAR文件构建原生可执行文件,请使用以下命令
native-image [options] -jar jarfile [executable name]
运行演示
前提条件
确保您已安装GraalVM JDK。最简单的入门方法是使用SDKMAN!。有关其他安装选项,请访问下载部分。
-
准备应用程序。
- 创建一个名为“App”的新Java项目,例如在您喜欢的IDE中或从您的终端,采用以下结构
| src | --com | -- example | -- App.java
- 将以下Java代码添加到src/com/example/App.java文件
package com.example; public class App { public static void main(String[] args) { String str = "Native Image is awesome"; String reversed = reverseString(str); System.out.println("The reversed string is: " + reversed); } public static String reverseString(String str) { if (str.isEmpty()) return str; return reverseString(str.substring(1)) + str.charAt(0); } }
这是一个使用递归反转字符串的小型Java应用程序。
- 创建一个名为“App”的新Java项目,例如在您喜欢的IDE中或从您的终端,采用以下结构
- 编译应用程序
javac -d build src/com/example/App.java
这会在build/com/example/目录中生成App.class文件。
- 创建可运行的JAR文件
jar --create --file App.jar --main-class com.example.App -C build .
它将在项目根目录中生成一个名为App.jar的可运行JAR文件。要查看其内容,请运行命令
jar tf App.jar
- 创建原生可执行文件
native-image -jar App.jar
它将在项目根目录中生成一个原生可执行文件。可执行文件的默认名称将是JAR文件的名称(本例中为“App”)。可以通过在最后一个参数中提供自定义名称(例如,
native-image -jar App.jar executable_name
),或者通过在-jar jarfile
之前或之后使用-o executable_name
来定制,例如:native-image -jar App.jar -o executable_name
。 - 运行本机可执行文件:
./App
native-image
的默认行为与java
命令一致,这意味着您可以像使用java
命令一样,将-jar
、-cp
、-m
选项传递给Native Image进行构建。例如,java -jar App.jar someArgument
变为native-image -jar App.jar
和./App someArgument
。