2008-09-17 6 views
2

J'ai mis à jour mon fichier ant build.xml pour inclure un nouveau fichier et un nouveau dossier. Après avoir créé le fichier .jar, je vérifie s'ils existent dans le fichier par 'unzip \ extract', et ils sont là.Fichiers non extraits du fichier .jar lors de l'exécution

Mais lors de l'exécution de .jar, ni le dossier ni le fichier ne sont extraits.

Ai-je manqué une étape?

Répondre

2

Votre application devrait être capable d'utiliser le fichier directement depuis le pot, pas besoin de l'extraire. Ou voulez-vous dire autre chose?

0

Faites-vous quelque chose de spécifique pour extraire le fichier jar? Je demande parce que normalement les fichiers jar ne sont pas extraits lors de leur exécution.

Si vous exécutez "java -jar myJar.jar" ou "java -cp myJar.jar com.example.MyMainClass", les fichiers jar référencés ne seront pas extraits. Java chargera vos classes et ressources directement à partir du fichier jar sans l'extraire.

4

Regardez dans getResourceAsStream. Cela vous évitera d'avoir à extraire les fichiers du fichier jar. À moins que ce soit votre objectif.

+0

Oui, c'est ce que je voulais dire :) – sirprize

0

Si vous encapsulez votre application à l'aide de One-JAR, vous pouvez spécifier un attribut dans le fichier manifeste pour extraire les fichiers souhaités (voir l'attribut de manifeste One-Jar-Expand). En prime, vous serez également en mesure d'emballer toutes les bibliothèques dépendantes avec votre code, créant ainsi un seul pot distribuable.

Questions connexes