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