[Java] Créer un module exécutable avec Gradle

Objectif

Après avoir créé un module simple sans interface utilisateur en Java, placez-le dans l'environnement d'exécution.

Conditions préalables

· Éclipse ・ Gradle

paramètres build.gradle

Ajoutez le plugin ʻapplication` et la définition du chemin de la classe Main.

build.gradle


apply plugin: 'application'

mainClassName = 'jp.vicugna_pacos.admainte.main.AdMainteMain'

compiler

  1. Exécutez la tâche de Gradle ʻinstallDist`.
  2. Un module d'exécution sera créé dans le dossier de projet / build / install, donc copiez-le et déplacez-le vers l'emplacement spécifié.
  3. Le fichier bat dans le dossier bin est le script de démarrage.

S'il n'y a pas de JAVA_HOME

En regardant le fichier bat créé ci-dessus, on suppose que la variable d'environnement JAVA_HOME est définie. S'il n'y a pas de JAVA_HOME, créez un fichier bat wrapper comme suit.

Échantillon de chauve-souris d'emballage


@echo off
setlocal

set ARGS=%*
set DIRNAME=%~dp0
set BATNAME=%DIRNAME%AD_MAINTE\bin\AD_MAINTE.bat
set JAVA_HOME=E:\jre\8

%BATNAME% %ARGS%

endlocal

Sortez les fichiers de propriétés, etc.

Tout d'abord, placez le fichier que vous voulez sortir dans le dossier src / dist.

Tel quel, le fichier de propriétés dans src / main / resources a la priorité, donc ne l'incluez pas dans le fichier Jar.

build.gradle


jar {
    exclude '**/config.properties'
    exclude '**/logback.xml'
}

De plus, les fichiers placés dans le dossier dist doivent être inclus dans le chemin de classe lors de l'exécution.

build.gradle


startScripts {
  classpath += files('src/dist/XxxAPlaceHolderForAConfigxxX')
  doLast {
    def windowsScriptFile = file getWindowsScript()
    def unixScriptFile    = file getUnixScript()
    windowsScriptFile.text = windowsScriptFile.text.replace('%APP_HOME%\\lib\\XxxAPlaceHolderForAConfigxxX', '%APP_HOME%\\config')
    unixScriptFile.text  = unixScriptFile.text.replace('$APP_HOME/lib/XxxAPlaceHolderForAConfigxxX', '$APP_HOME/config')
  }
}

Dans cet exemple, les fichiers placés dans le dossier dist / config seront inclus dans le chemin de classe.

référence: java - Adding classpath entries using Gradle's Application plugin - Stack Overflow https://stackoverflow.com/questions/10518603/adding-classpath-entries-using-gradles-application-plugin

Recommended Posts

[Java] Créer un module exécutable avec Gradle
Créer une classe immuable avec JAVA
Créer un multi-projet Java avec Gradle
Construire un projet Java avec Gradle
Créez une application avec Spring Boot 2
Créer un fichier Excel avec POI
Créez une application avec Spring Boot
Exécuter des applications écrites en Java8 en Java6
Module [Java]
Créons vous-même une instance avec .new. .. ..
Application Java CICS-Run - (3) Gestion de build avec Gradle
Présentation du test Java automatisé avec JUnit 5 + Gradle
Créer des applications Java avec IBM Cloud Functions
Exécutable serveur avec Spring gradle Comment créer JAR et WAR
Rendre l'environnement SpringBoot1.5 + Gradle4.4 + Java8 + Docker compatible avec Java11
Créer un CSR avec des informations étendues en Java
Créez un tableau d'affichage simple avec Java + MySQL
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Créons un processus chronométré avec la minuterie de Java! !!
Créez une API JSON prenant en charge le cryptage RSA avec wicket
Analyse de code statique par Checkstyle avec Java + Gradle
Premiers pas avec Gradle (jusqu'à ce que vous créiez un projet Java et combiniez des bibliothèques externes en un seul JAR exécutable)
Créez et testez des applications Java + Gradle avec Wercker
[Java] Créer une collection avec un seul élément
Créer un environnement de test E2E avec Selenium (Java)
En utilisant Gradle avec VSCode, compilez Java → exécutez
Créez un environnement ARM-cpu avec qemu sur mac et exécutez java [Résultat → Échec]
[Java] Trouvez le nombre premier avec le tamis Eratostenes
Créer un site EC avec Rails5 ⑤ ~ Modèle client ~
Créer un annotateur qui utilise kuromoji avec NLP4J [007]
Créer un site EC avec Rails 5 ⑩ ~ Créer une fonction de commande ~
[Java] Trouvez le nombre premier avec le tamis Eratostenes (Partie 2)
Créez un serveur de fichiers HTTPS pour le développement avec ring-jetty-adapter
Créer un site EC avec Rails5 ⑦ ~ Adresse, modèle de genre ~
Créer un site EC avec Rails 5 ⑨ ~ Créer une fonction de panier ~
[Débutant] Créez un jeu compétitif avec des connaissances de base sur Java
Créer un site EC avec Rails5 ④ ~ En-tête et pied de page ~
Créer un environnement de test E2E avec Docker x Cypress
Créez un site EC avec Rails5 ⑥ ~ entrée de données de départ ~
Implémentez rapidement singleton avec enum en Java
[Note] Créez un environnement Java à partir de zéro avec docker
Créer un service avec un modèle vide Liferay 7.0 / DXP
Vérifiez la couverture avec Codecov dans la configuration Java + Gradle + Wercker
Essayez de créer Java dans un module natif avec GraalVM
Installez java avec Homebrew
Essayez de créer avec Trailblazer
Utiliser ProGuard avec Gradle
Test d'intégration avec Gradle
Changer de siège avec Java
Installez Java avec Ansible
[Java] Créer un filtre
[java] Lancer une exception
Téléchargement confortable avec JAVA
Construction de premier niveau (Java)
Installez Gradle sur ubuntu16.04