◀返回
从 JAR 文件构建本机可执行文件
您可以从类文件、JAR 文件或模块构建本机可执行文件。本指南演示了如何从 JAR 文件构建本机可执行文件。
要从当前工作目录中的 JAR 文件构建本机可执行文件,请使用以下命令
native-image [options] -jar jarfile [executable name]
运行演示
先决条件
确保您已安装 GraalVM JDK。最简单的入门方法是使用 SDKMAN!。有关其他安装选项,请访问 下载部分。
-
准备应用程序。
- 例如,在您喜欢的 IDE 或终端中,创建一个名为“App”的新 Java 项目,并使用以下结构
| 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 应用程序。
- 例如,在您喜欢的 IDE 或终端中,创建一个名为“App”的新 Java 项目,并使用以下结构
- 编译应用程序
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 .
它将在项目根目录中生成一个可运行的 JAR 文件,名为App.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
命令一致,这意味着您可以将-jar
、-cp
、-m
选项传递给 Native Image,就像您通常使用java
一样。例如,java -jar App.jar someArgument
变为native-image -jar App.jar
以及./App someArgument
。