Configurer les variables d'environnement Maven
J'utilise directement maven sous le dossier des plugins IDEA
pour créer une nouvelle
variable d'environnement MAVEN_HOME Path variable d'environnement ajouter
%MAVEN_HOME%\bin
Installer la communauté Visual Studio
Étant donné que GraalVM doit appeler l'outil sous-jacent du système d'exploitation et que l'outil sous-jacent de Windows est VisualStudio, nous devons d'abord télécharger et installer VisualStudio.
TéléchargerCommunauté Visual Studio
"Téléchargement du site officiel de la communauté Visual Studio"
Après le téléchargement, installez-le directement
Choisissez des applications de bureau et des applications mobiles (le plus important est en fait l'environnement MSVC)
Choisissez l'anglais comme pack de langue, pas le chinois.
Chemin d'installation (vous ne pouvez pas le modifier, il est recommandé de ne pas le changer, mais vous devez vous en souvenir !)
puis cliquez sur installer
Configurer les variables d'environnement Visual Studio (important)
Ajout de la variable d'environnement de chemin : chemin d'installation de Visual Studio
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64
Créez une nouvelle variable d'environnement 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;
Créez une nouvelle variable d'environnement 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;
Installer GraalVM
"Téléchargement du site Web officiel de GraalVM"
Après avoir cliqué sur Télécharger, déroulez pour trouver GraalVM Community Edition et cliquez dessus
pour trouver le plus procheGraalVM Community Edition XXX Cliquez sur Actifs(Parce que le mien est un projet SpringBoot3, le JDK initial en nécessite 17, j'en ai donc téléchargé 17) Si la vitesse de téléchargement est lente, vous pouvez utiliser un outil de téléchargement tiers, tel que : Xunlei, etc. Sélectionnez les 2 contenus suivants à
télécharger
graalvm-ce-java17-windows-amd64-XXXzip
native-image-installable-svm-java17-windows-amd64-XXXjar
Configurez la variable d'environnement JDK comme variable d'environnement de GraalVM, car GraalVM est JDK
S'il y a des variables d'environnement Java avant, remplacez-les par
la décompression GraalVMgraalvm-ce-java17-windows-amd64-XXXzip(GraalVM JDK)
Configurer le chemin
Enregistrez, entrez Win + R CMD pour exécuter le test de version java pour voir si la configuration du JDK est réussie
Installer l'image native
Entrerimage-native-installable-svm-java17-windows-amd64-XXXjarEntrez cmd dans la barre d'adresse du répertoire de téléchargement et essayez de ne pas avoir de chinois dans le répertoire du dossier.
Assurez-vous d'entrer dans le dossier native-image-installable-svm-java17-windows-amd64-XXXjar, ou entrez le chemin sous ce dossier via le CD
gu install --file native-image-installable-svm-java17-windows-amd64-X.X.X.jar
Déterminer si l'installation est réussie
native-image
En cas de succès, les éléments suivants seront affichés
Please specify options for native-image building or use --help for more info.
Botte de printemps 3
Ajoutez le projet Spring Boot3 et sélectionnez JDK comme 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>
Construire une classe de démarrage HelloController.java et SpringBootApplication
@RestController
public class HelloController {
@GetMapping("hello")
public String hello() {
return "Hello World.";
}
}
construire le fichier exe
Cochez natif dans le fichier de configuration, sinon le fichier exe généré démarrera sans problème, mais la console affichera les informations ERROR
Ensuite, exécutez native:build to package dans le fichier exécutable exe
Démarrez le fichier XXX.exe dans le répertoire cible (ce fichier est un peu gros pour être honnête ~)
Visitez localhost:8080/hello pour sortir Hello World.
-P activer natif
Cela revient à sélectionner l'environnement natif pour l'idée. Si l'environnement natif n'est pas sélectionné pour l'empaquetage, le journal de sortie de la console affichera les informations ERROR, mais le programme peut s'exécuter normalement.
mvn -Pnative native:build -f pom.xml
Emballage de commande pur
Accédez à la ligne de commande dans le répertoire du fichier pom.xml et exécutez cmd
mvn clean
mvn compile
mvn spring-boot:process-aot
mvn -Pnative native:build -f pom.xml