返回

从JAR文件构建原生可执行文件

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

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

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

运行演示

前提条件

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

  1. 准备应用程序。

    • 创建一个名为“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应用程序。

  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 .
    

    它将在项目根目录中生成一个名为App.jar的可运行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命令一致,这意味着您可以像使用java命令一样,将-jar-cp-m选项传递给Native Image进行构建。例如,java -jar App.jar someArgument变为native-image -jar App.jar./App someArgument

联系我们