Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven

ʻLors de la génération automatique d'un script en utilisant appassembler-maven-plugin`, j'ai rendu possible la définition de JAVA_HOME dans le script généré automatiquement, alors prenez note.

Correspondance

Tout d'abord, préparez settings.sh qui décrit les paramètres d'exportation de JAVA_HOME comme une préparation préliminaire.

settings.sh


export JAVA_HOME=/usr/java/jdk1.8.0_152

Ensuite, définissez l'assembleur pour que settings.sh puisse être appelé à partir du script généré automatiquement. Document officiel a un paramètre appelé ʻenvironmentSetupFileName`, alors utilisez-le.

pom.xml


· · · Omis · · ·
	<plugin>
		<groupId>org.codehaus.mojo</groupId>
		<artifactId>appassembler-maven-plugin</artifactId>
		<version>1.1</version>
		<executions>
			<execution>
				<goals>
					<goal>assemble</goal>
				</goals>
				<phase>package</phase>
			</execution>
		</executions>
		<configuration>
			<programs>
				<program>
					<mainClass>com.fuga.hoge.SampleApp</mainClass>
					<name>SampleApp</name>
				</program>
			</programs>
			<binFileExtensions>
				<unix>.sh</unix>
			</binFileExtensions>
			<environmentSetupFileName>settings.sh</environmentSetupFileName>
		</configuration>
	</plugin>
・ ・ ・ Ce qui suit est omis ...

Le SampleApp.sh qui est automatiquement généré lorsque vousmvn package après le réglage est le suivant.

SampleApp.sh


BASEDIR=`dirname $0`/..
BASEDIR=`(cd "$BASEDIR"; pwd)`

[ -f "$BASEDIR"/bin/settings.sh ] && . "$BASEDIR"/bin/settings.sh
・ ・ ・ Ce qui suit est omis ...

Cela chargera le premier settings.sh créé au début du script généré automatiquement, donc si vous définissez une tâche pour copier settings.sh sous le répertoire bin après la construction, ce sera dans le script généré automatiquement. Le paramètre JAVA_HOME peut être lu à partir de.

référence

Recommended Posts

Comment définir JAVA_HOME avec l'appassembler-maven-plugin de Maven
Comment définir nginx de Docker
Comment numéroter (nombre) avec html.erb
Comment mettre à jour avec activerecord-import
Comment définir des constantes Java
Comment démarrer par environnement avec Spring Boot de Maven
Comment définir des variables d'environnement lors de l'utilisation de Payjp avec Rails
Comment configurer un proxy avec authentification dans Feign
Comment démarrer avec Slim
Comment entourer n'importe quel caractère avec "~"
Comment configurer Spring Boot + PostgreSQL
Comment faire un projet Maven
Comment définir Lombok dans Eclipse
Ne définissez pas JAVA_HOME avec le chemin complet
Comment démarrer Camunda avec Docker
Comment créer un fichier jar sans dépendances dans Maven
[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose
Comment recadrer une image avec libGDX
Comment ajuster TextPosition avec l'extension de clavier iOS
Comment compiler Java avec VsCode & Ant
[Java] Résumez comment comparer avec la méthode equals
[Android] Comment gérer les thèmes sombres
Comment utiliser BootStrap avec Play Framework
[Note] Comment démarrer avec Rspec
Comment créer un référentiel Maven pour 2020
Comment faire un contrôle basé sur l'API avec cancancan
Comment configurer et utiliser kapt
[Java] Comment régler la date sur 00:00:00
Comment réaliser le téléchargement de fichiers avec Feign
[Java] [Maven3] Résumé de l'utilisation de Maven3
Comment implémenter TextInputLayout avec la fonction de validation
Comment gérer les erreurs de connexion avec l'appareil
Comment supprimer des données avec une clé externe
Comment tester l'étendue privée avec JUnit
Comment surveiller nginx avec docker-compose avec datadog
Nécessaire pour iOS 14? Comment définir NSUserTrackingUsageDescription
Comment gérer les actifs de précompilation a échoué.
Comment réaliser le téléchargement de fichiers avec Feign
Comment exécuter Blazor (C #) avec Docker
Comment créer un environnement Rails 6 avec Docker
Comment appliquer immédiatement les modifications de Thymeleaf au navigateur avec #Spring Boot + maven
Comment télécharger Oracle JDK 8 rpm avec curl
[Java] Comment tester s'il est nul dans JUnit
Comment se moquer de chaque cas avec Mockito 1x
Comment se moquer de chaque cas avec PowerMock + Mockito1x
Comment utiliser ToolBar avec la super marge Part1 Définir les caractères et changer les couleurs
Comment tester les interruptions pendant Thread.sleep avec JUnit
Déployez des applications Web Java sur Azure avec maven
Comment utiliser h2db intégré avec Spring Boot
Comment créer plusieurs menus déroulants avec ActiveHash
Comment démarrer avec Eclipse Micro Profile
[Java] (pour MacOS) Méthode de définition du chemin de classe
Maven [ERROR] Le chemin de la classe Bootstrap n'est pas défini avec -source 1.7
Comment configurer et utiliser jEnv (Mac)
Comment donner votre image à quelqu'un avec Docker
Comment tout insérer en même temps avec MyBatis