Maison  >  Article  >  Java  >  Comment fusionner plusieurs fichiers JAR en un seul JAR exécutable ?

Comment fusionner plusieurs fichiers JAR en un seul JAR exécutable ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 02:56:30437parcourir

How to Merge Multiple JAR Files into a Single Executable JAR?

Fusionner des fichiers JAR dans un seul JAR exécutable

Problème : Comment fusionner de manière transparente plusieurs fichiers JAR en un seul JAR exécutable, y compris la personnalisation du manifeste du fichier principal ?

Solution :

Pour répondre au besoin de consolider plusieurs fichiers JAR, une solution simple et efficace consiste à utiliser Élément zipfileset d'Apache Ant. Cet élément permet la création d'un nouveau fichier JAR en combinant le contenu des JAR existants.

<code class="xml"><jar id="files" jarfile="all.jar">
    <zipfileset src="first.jar" includes="**/*.java **/*.class"/>
    <zipfileset src="second.jar" includes="**/*.java **/*.class"/>
</jar></code>

Cette tâche Ant lira le contenu de first.jar et second.jar et les fusionnera dans un nouveau fichier JAR. nommé all.jar. L'attribut include spécifie les fichiers à inclure à partir des fichiers JAR sources.

Fonctionnalités supplémentaires :

Cette approche propose également :

  • Spécification de la classe principale : Pour définir la classe d'application principale, utilisez l'attribut mainEntry de l'élément zipfielsest.
  • Envelopper dans un script exécutable : En plaçant le JAR dans un script shell et en le rendant exécutable, vous pouvez conserver la commodité d'utiliser le fichier JAR comme exécutable.

Méthodes alternatives :

Bien que le jeu de fichiers zip d'Ant soit une solution simple, il existe des méthodes alternatives :

  • Java : Utilisez les classes JarInputStream et JarOutputStream pour fusionner manuellement les fichiers JAR.
  • Outils de construction : Maven et Gradle fournissent tous deux des plugins qui peuvent regrouper plusieurs JAR dans un seul exécutable.
  • Outils d'empaquetage JAR : Des outils dédiés comme JarSplice peuvent créer de gros JAR avec des configurations personnalisées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn