[JAVA] Configurer un multi-projet Gradle dans IntelliJ pour créer un fichier JAR

Il y a eu de nombreux endroits où j'ai trébuché, c'est donc un mémorandum.

Créer un nouveau projet

Créez un projet Gradle. Puisqu'il s'agit d'un projet racine, décochez tout dans "Bibliothèques et frameworks supplémentaires". 01.png 02.png 03.png

Ajouter un projet partagé (module)

Cliquez avec le bouton droit sur "Vue du projet" dans IntelliJ et sélectionnez [Nouveau] -> [Module] dans le menu contextuel pour ajouter un module partagé. 04.png

Vérifiez [Java] dans "Bibliothèques et frameworks supplémentaires" 05.png 06.png 07.png

Cela ressemble à l'ajout à partir de la fenêtre "Structure du projet" au lieu de la "Vue du projet".
(Pour une raison quelconque, le projet parent ne peut pas être spécifié dans le champ "Ajouter comme module suivant")
04B.png

Une fois l'ajout terminé, implémentez les fonctions communes appropriées. 08.png

Ajouter un module d'application

Ensuite, ajoutez le module qui utilise la fonction commune dans la même procédure.

Lorsque l'ajout est terminé, ajoutez le module partagé à dependecies dans le fichier" build.gradle "et implémentez la fonctionnalité appropriée. 09.png

Ensuite, définissez "Run / Debug Configuration" et vérifiez qu'il peut être exécuté. 10.png 11.png

Génération de fichiers JAR

Dans l'état par défaut, le paramètre de répertoire de sortie de Gradle et le paramètre d'IntelliJ sont différents, de sorte qu'un fichier JAR normal n'est pas généré.

Référence: stack overfloe --Construction avec Intellij 2017.2 / out répertoire duplique les fichiers dans le répertoire / build 12B.png

Par conséquent, spécifiez explicitement le répertoire de sortie dans le fichier "build.gradle" du module partagé et du module d'application. 12.png

Ensuite, sélectionnez [+] -> [JAR] -> [From Dependent Modules ...] dans [Delivery] dans "Project Settings" dans la fenêtre "Project Structure" pour ajouter l'artefact. 13.png

Changez le répertoire des fichiers manifestes de «java» à «ressources» lorsque vous spécifiez le module et la classe principale. 14.png

Enfin, assurez-vous que le fichier JAR peut être exécuté normalement. 15.png

Recommended Posts

Configurer un multi-projet Gradle dans IntelliJ pour créer un fichier JAR
Créer un JAR exécutable multi-projets avec Gradle
Configurer le résolveur en plusieurs parties pour permettre à Spring de télécharger des fichiers
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Ajouter un horodatage au nom de fichier JAR dans Gradle
Comment ajouter un fichier jar dans ScalaIDE
Ajouter un fichier jar obtenu de Maven à IntelliJ
Comment créer un fichier exécutable dans Maven
Comment sortir un pot avec la classe principale spécifiée par gradle dans IntellijIDEA
Cachez les fichiers dépendants de Gradle pour accélérer la construction du docker
Comment créer un environnement Docker avec Gradle pour IntelliJ
Ajoutez un fichier jar externe dans un projet IntelliJ.
Comment déboguer le fichier jar généré avec Eclipse
Créez des fichiers Jar dans le dossier du plugin en un clic avec IntelliJ
Mémo des paramètres Gradle (multi-projets pour tout en un) pour moi-même
Créez un fichier jar qui peut être exécuté sur Gradle
Multi-projets Spring Boot 2 avec Gradle
Comment configurer un proxy avec authentification dans Feign
[Gradle] L'histoire selon laquelle le fichier de classe n'existait pas dans le fichier jar
Comment créer un fichier jar sans dépendances dans Maven
Impossible d'obtenir des ressources lors de l'utilisation de modules avec Gradle et IntelliJ
Fixez le nom du fichier de guerre à celui défini dans Maven
Faites HelloWorld avec Java / IntelliJ / Gradle
Comment exécuter Ant dans Gradle
Configurer le routage de pré-connexion dans Devise
Enregistrer la sortie dans un fichier en Java
Inclure les ressources d'image dans le fichier jar
Comment définir Lombok dans Eclipse
Définir une tâche pour archiver ZIP un ensemble de fichiers de projet dans Gradle
Comment lire le fichier de paramètres log4j dans un projet Java assemblé dans un fichier jar Memo
Configurez une interface graphique Java dans un thread séparé pour conserver le
Comment filtrer JUnit Test dans Gradle
Raccourci pour générer automatiquement javadoc dans IntelliJ
Comment configurer et utiliser kapt
Configurer un multi-projet avec des sous-répertoires dans Gradle
Exemple pour décompresser le fichier gz en Java
Inclure les ressources d'image dans le fichier jar
Télécharger le fichier image de l'application Rails sur S3
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot