Ici, nous résumons les différentes façons d'utiliser l'idée pour emballer des packages en pot. Vous pouvez vous référer au formulaire suivant pour les futurs projets pour emballer les packages en pot:
Utilisez la propre méthode d'emballage de l'idée:
Ouvrez le fichier de l'idée -> Structure du projet et entrez la page de configuration du projet. Comme indiqué dans la figure ci-dessous:
Cliquez sur les artefacts pour entrer la page de configuration des artefacts, cliquez sur + et sélectionnez les options de la figure ci-dessous.
Entrez la page Créer un pot à partir des modules et configurez-le comme indiqué dans la figure ci-dessous.
Après avoir cliqué sur OK , l'interface suivante apparaît. Cliquez avec le bouton droit sur <Output Root>, cliquez sur Créer un répertoire , créez un LIBS et mettez tous les pots tiers dans le répertoire LiBS.
Après le succès, comme le montre la figure suivante:
Après avoir mis en place, cliquez sur le nom du pot que nous voulons taper, qui est kafka-cps.jar et sélectionnez ClassPath pour la configuration.
Les résultats édités sont les suivants:
Tous les pots sont écrits en libs / . Cliquez sur OK pour revenir à la page de configuration.
En même temps, veuillez noter que sur la page de configuration, vérifiez la construction sur
Enfin, cliquez sur OK sur la page de configuration pour terminer la configuration. Retour à l'idée, cliquez sur Build-> Créer des artefacts et sélectionnez Build
Le package JAR dont nous avons besoin sera généré. Son emplacement est dans / out / artefacts / kafka_cps_jar dans le répertoire out du répertoire du projet.
Ce qui suit est un contenu de fichier manifeste correctement configuré
Paquet avec maven-shade-bougin
Le processus d'emballage ci-dessus est vraiment trop lourd et ne profite pas des fonctionnalités des projets de gestion Maven. Pour ce faire, nous utilisons le plugin Maven-Shade-Plugin dans Maven ici. Dans pom.xml, nous ajoutons les informations suivantes pour ajouter le plugin.
<harin> <proupId> org.apache.maven.plugins </rompuprid> <artifactive> maven-shade-plugin </ artifactid> </ version> 1.4 </ version> <fracentinging> <reatePendencyRedPom> true </ CreatedEpendencyRedOedPom> </saburation> </ Exécution> <phase> package </pack> </pack> <In configuration> <Strdentders> <transformateur implémentation = "org.apache.maven.plugins.shade.resource.manifestresourcetransformer"> <mainclass> Main.main </ Mainclass> </proquettez> </proquetters> </figuration> </ Execution> </Executions> </plugin>
Il y a une balise «configuration». Il y a une balise de transformateur sous cette balise pour configurer l'entrée de la fonction principale ( <Mainclass> main.main </-mainclass> ). Bien sûr, le contenu de cette balise est très compliqué, pas aussi simple que écrit ci-dessus. La raison pour laquelle ce qui précède est si simple est qu'il n'y a qu'une seule méthode principale dans toutes les classes (y compris les pots tiers). S'il existe une méthode principale dans un pot tiers, une configuration supplémentaire est requise. La configuration ci-dessus peut ne pas réussir.
Après avoir ajouté ce code à pom.xml, nous pouvons utiliser la commande maven pour l'emballer. Les instructions sont les suivantes:
MVN Clean Compile // Effacer le fichier de compilation cible précédent et recompiler le package MVN Clean // package le projet (parce que le plug-in est configuré, le package JAR est exécutable) MVN Clean Installer // Installe le projet, puis vous pouvez l'utiliser
Ensuite, passez-le via Java -Jar CPS-1.0-Snapshot.jar .
Si vous utilisez l'idée, vous pouvez utiliser l'outil de gestion Maven inclus pour exécuter la commande ci-dessus à la place. Comme indiqué dans la figure ci-dessous, cliquez sur la partie bleue tour à tour.
Paquet avec maven-assembly-bougin
Nous devons également cliquer sur de nombreuses commandes pour emballer la méthode ci-dessus. Cette fois, en utilisant un nouveau plug-in, il peut être plus facile à emballer. De même, ajoutez le code suivant à pom.xml. Le code du plugin de bouchage de maven-shade ci-dessus peut être supprimé. Il est préférable de ne pas écrire 2 codes de plug-in.
<harin> <Artifactid> maven-assembly-Plugin </ artifactId> <version> 2.4 </ version> <Inconguration> <descriptorrefs> </ descriptorrefs> </ descriptorref> jar-avec-dépendance </ descriptorref> </ descriptorrefs> <archive> <manifest> <MainClass> Main.Main </ MainclcLe> <Manifest> </ manifest> </ archive> </ configuration> <execution> <id> make-assembly </id> <masy> package </sathe> <but go buts> single </ but> </pus> </Exécution> </Executions> </gingin>
Voici également une balise manifeste pour configurer l'entrée de la fonction principale. Utilisez ensuite les instructions suivantes pour réaliser l'emballage.
mvn assembly:assembly
Si vous utilisez l'idée, vous pouvez utiliser l'outil de gestion Maven inclus pour exécuter la commande ci-dessus à la place. Comme indiqué dans la figure ci-dessous, cliquez sur la section bleue.
Ensuite, exécuté en exécutant Java -Jar CPS-1.0-Snapshot-Jar-With-Dependance.jar .
Ce qui précède est tout le contenu de cet article. J'espère que le contenu de cet article sera d'une aide à l'étude ou au travail de chacun. J'espère également soutenir plus Wulin.com!