返回

从 JAR 文件构建本机可执行文件

您可以从类文件、JAR 文件或模块构建本机可执行文件。本指南演示了如何从 JAR 文件构建本机可执行文件。

要从当前工作目录中的 JAR 文件构建本机可执行文件,请使用以下命令

native-image [options] -jar jarfile [executable name]

运行演示

先决条件

确保您已安装 GraalVM JDK。最简单的入门方法是使用 SDKMAN!。有关其他安装选项,请访问 下载部分

  1. 准备应用程序。

    • 例如,在您喜欢的 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 应用程序。

  2. 编译应用程序
     javac -d build src/com/example/App.java
    

    这将在build/com/example/ 目录中生成App.class 文件。

  3. 创建可运行的 JAR 文件
     jar --create --file App.jar --main-class com.example.App -C build .
    

    它将在项目根目录中生成一个可运行的 JAR 文件,名为App.jar:要查看其内容,请运行命令jar tf App.jar

  4. 创建本机可执行文件
     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

  5. 运行本机可执行文件
     ./App
    

native-image 的默认行为与java 命令一致,这意味着您可以将-jar-cp-m 选项传递给 Native Image,就像您通常使用java 一样。例如,java -jar App.jar someArgument 变为native-image -jar App.jar 以及./App someArgument

联系我们