2010-08-19 19 views
2

HI,comment créer fichier jar vide qui fait référence à d'autres pots dans classpath

J'ai un grand nombre de pots que mon application j2ee dépend, donc je veux créer un seul fichier jar avec l'attribut manifeste référençant les jar fichiers dans classpath. Ensuite, je vais placer ce fichier dans glassfish lib dir afin que les jars mentionnés deviennent dans classpath pour l'application.

le seul problème est que je ne sais pas comment créer ce fichier jar unique.

suggestions?

concernant

Répondre

0

Le programme jar (utilisé pour créer des pots) a une entrée -m utilisée pour spécifier un fichier manifeste.

Dans ce fichier manifeste, vous pouvez spécifier l'emplacement des autres fichiers jar avec l'attribut Class-Path.

Voir ici: http://download.oracle.com/javase/1.3/docs/guide/jar/jar.html

J'ai personnellement pas essayé, donc je ne sais pas dans quelle mesure ce serait.

Vous pouvez créer un fichier jar volumineux contenant tous vos autres fichiers jar si cela vous inquiète. Je ne sais pas si je recommanderais cette solution non plus.

0

Ce que vous décrivez devrait fonctionner correctement. Quand un jar est chargé avec une entrée Class-Path dans son fichier manifest.mf, tous les jars référencés seront ajoutés au chemin de la classe. Si vous utilisez maven, ils ont un moyen très simple d'ajouter le classpath au manifeste généré par un fichier jar.

Toutes les dépendances du projet maven seront ajoutées à l'entrée Class-Path.

Adding a classpath via maven.

Si vous choisissez d'utiliser le programme de pot, vous pouvez modéliser votre manifeste hors de l'exemple à partir du lien ci-dessus.

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Built-By: ${user.name} 
Build-Jdk: ${java.version} 
Class-Path: plexus-utils-1.1.jar commons-lang-2.1.jar