SpringBoot3のGraalVMのWindows詳細インストールと使い方チュートリアル

Maven 環境変数を構成する

IDEA plugins フォルダーの下で Maven を直接使用して、
新しい MAVEN_HOME 環境変数を作成します。
ここに画像の説明を挿入
Path 環境変数を追加します。

%MAVEN_HOME%\bin

ここに画像の説明を挿入

Visual Studio コミュニティをインストールする

GraalVM はオペレーティング システムの基礎となるツールを呼び出す必要があり、Windows の基礎となるツールは VisualStudio であるため、最初に VisualStudio をダウンロードしてインストールする必要があります。
ここに画像の説明を挿入

ダウンロードVisual Studio コミュニティ

「Visual Studio Community 公式サイト ダウンロード」
ここに画像の説明を挿入

ダウンロード後、直接インストールしてください

ここに画像の説明を挿入

デスクトップ アプリケーションとモバイル アプリケーションを選択します (実際に最も重要なのは MSVC 環境です)

ここに画像の説明を挿入

言語パックとして中国語ではなく英語を選択します。

ここに画像の説明を挿入

インストール パス (変更することはできません。変更しないことをお勧めしますが、覚えておく必要があります。)

ここに画像の説明を挿入
次に「インストール」をクリックします

Visual Studio 環境変数を構成する (重要

パス環境変数の追加:Visual Studioのインストールパス

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64

新しい INCLUDE 環境変数を作成します。

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt;

ここに画像の説明を挿入
新しい lib 環境変数を作成します。

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\lib\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\ucrt\x64;

ここに画像の説明を挿入

GraalVM をインストールする

「GraalVM 公式 Web サイトのダウンロード」
ここに画像の説明を挿入
ダウンロードをクリックした後、プルダウンして GraalVM Community Edition を見つけ、それをクリックして
ここに画像の説明を挿入
最も近いものを見つけます。GraalVM Community Edition XXX アセットをクリックします(私のプロジェクトは SpringBoot3 プロジェクトなので、初期 JDK には 17 が必要なので、17 をダウンロードしました) ダウンロード速度が遅い場合は、Xunlei などのサードパーティのダウンロード ツールを使用できます。ダウンロードする次の 2 つのコンテンツを選択します

graalvm-ce-java17-windows-amd64-XXXzip
ネイティブイメージ-インストール可能-svm-java17-windows-amd64-XXXjar

GraalVMはJDKなので、JDK環境変数をGraalVMの環境変数として設定します。

以前に Java 環境変数がある場合は、それを GraalVM
解凍に置き換えますgraalvm-ce-java17-windows-amd64-XXXzip(GraalVM JDK)
ここに画像の説明を挿入
パスの構成
ここに画像の説明を挿入

保存し、Win+R で CMD を入力して java -version テストを実行し、JDK 構成が成功したかどうかを確認します。
ここに画像の説明を挿入

ネイティブイメージをインストールする

入力ネイティブ イメージ インストール可能 svm-java17-windows-amd64-XXXjarダウンロード ディレクトリのアドレス バーに「cmd」と入力し、フォルダ ディレクトリに中国語が含まれないようにしてください。
ここに画像の説明を挿入
必ず、native-image-installable-svm-java17-windows-amd64-XXXjar フォルダーを入力するか、CD からこのフォルダーの下のパスを入力してください。

gu install --file native-image-installable-svm-java17-windows-amd64-X.X.X.jar

インストールが成功したかどうかを確認する

native-image

成功すると以下が出力されます

Please specify options for native-image building or use --help for more info.

スプリングブーツ3

Spring boot3 プロジェクトを追加し、JDK を GraalVM JDK17 として選択します
ここに画像の説明を挿入

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.fu</groupId>
    <artifactId>spring-boot3-aot-graalvm-native-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 没有跟demo-maven作为父子项目,而是以SpringBoot作为父项目 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
        <relativePath/>
    </parent>

    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <!-- web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- AOT Graalvm native maven 插件 -->
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
HelloController.java および SpringBootApplication 起動クラスを構築する
@RestController
public class HelloController {
    
    

    @GetMapping("hello")
    public String hello() {
    
    
        return "Hello World.";
    }

}
exeファイルをビルドする

構成ファイルでネイティブをチェックしてください。そうでない場合、生成された exe ファイルは問題なく起動しますが、コンソールにはエラー情報が出力されます。
ここに画像の説明を挿入
メイブン
次に、native:build を実行して exe 実行可能ファイルにパッケージ化します。
ここに画像の説明を挿入

ターゲットディレクトリにあるXXX.exeファイルを起動します(正直、このファイルは少し大きいです〜)

ここに画像の説明を挿入
localhost:8080/hello にアクセスして、Hello World を出力します。
ここに画像の説明を挿入

-P ネイティブをアクティブ化します

これは、アイデアに対してネイティブ環境を選択したことと同じであり、パッケージ化にネイティブ環境を選択しなかった場合、コンソール出力ログには ERROR 情報が出力されますが、プログラムは正常に実行できます。

mvn -Pnative native:build -f pom.xml

純粋なコマンドのパッケージ化

pom.xml ファイル ディレクトリのコマンド ラインに移動し、cmd を実行します。
ここに画像の説明を挿入

mvn clean
mvn compile
mvn spring-boot:process-aot
mvn -Pnative native:build -f pom.xml

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43933728/article/details/131479472