La dernière fois, lorsque j'enquêtais sur MessageSource, j'avais besoin de placer le fichier de propriétés qui gère le message en dehors du projet Spring Boot. Recharger la source du message Spring
À ce moment-là, lorsque j'ai étudié comment ajouter un chemin de classe avec Spring Boot, il y avait plusieurs méthodes, je vais donc les résumer.
Les paramètres peuvent différer selon la méthode de démarrage, et il peut y avoir plusieurs méthodes de configuration.
mvn spring-boot: run
C'est le cas lors du démarrage d'une application à l'aide du plugin Spring Boot Maven. Vous pouvez l'ajouter de l'une des manières suivantes.
Vous pouvez spécifier plusieurs chemins séparés par des virgules.
mvn spring-boot:run -Dspring-boot.run.folders=[chemin]
pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<folders>
<folder>[chemin]</folder>
</folders>
</configuration>
</plugin>
Lors de la création d'un fichier exécutable et de son exécution avec la commande java
.
À propos, le chemin d'accès aux classes n'est pas ajouté même si vous procédez comme suit.
Mauvais exemple
java -cp [chemin] -jar jarFile
La commande java
ignore -cp
si -jar
est spécifié.
Vous pouvez ajouter un chemin de classe en utilisant PropertiesLauncher
comme classe principale.
Si vous utilisez le plugin Spring Boot Maven, vous pouvez utiliser le «Lanceur de propriétés» en définissant «layout» sur «ZIP» ou «DIR».
pom.xml
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
</configuration>
</plugin>
Ensuite, en ce qui concerne les paramètres liés au chemin de classe à ajouter, il existe plusieurs méthodes de paramétrage. Ils sont répertoriés par ordre de priorité décroissant.
Vous pouvez ajouter le chemin de classe au démarrage avec -Dloader.path
.
java -Dloader.path=[chemin] -jar jarFile
Au fait, je l'ai lancé comme -Dloader.path = [chemin]
après -jar
et cela n'a pas fonctionné, donc j'étais inquiet pendant un moment.
La commande java
doit être spécifiée dans l'ordre java [-options] -jar jarFile [args ...]
.
Défini sur la variable d'environnement LOADER_PATH
.
Vous pouvez le démarrer en utilisant la commande java
normalement.
windows
set LOADER_PATH=[chemin]
linux
export LOADER_PATH=[chemin]
Placez le fichier de configuration directement sous les ressources avec le nom de fichier loader.properties
.
C'est également OK si vous utilisez la commande java
normalement pour le démarrer.
loader.properties
loader.path=[chemin]
Le nom et l'emplacement du fichier peuvent être modifiés par réglage.
Vous pouvez ajouter le chemin de classe en spécifiant Loader-Path
dans le fichier manifeste.
Commencez normalement par la commande java
.
Si vous utilisez Maven Jar Plugin, vous pouvez définir comme suit.
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Loader-Path>[chemin]</Loader-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
Il y a plusieurs façons d'utiliser Executable Jar, mais je me suis demandé si les propriétés système ou les variables d'environnement pouvant être définies au démarrage seraient bonnes.
Dans le cas d'un fichier de propriétés ou d'un fichier manifeste, le chemin est écrit en code solide, donc j'ai l'impression qu'il est difficile de le faire si les paramètres sont différents pour chaque environnement.
Ou vous pouvez créer un fichier de propriétés pour chaque environnement et spécifier le nom du fichier de propriétés dans les propriétés système au démarrage.
Recommended Posts