exécuté Disons que j'ai:
core.jar
client.jar (contient méthode principale) (utilise core.jar)
super_mega_client.jar (utilise core.jar, client. pot)Get-fichier manifeste du JAR
Pour exécuter mon programme j'utiliser « java -jar super_mega_client.jar »
Comment pourrais-je obtenir le fichier manifeste de ne rien savoir « super_mega_client.jar » au sujet de son nom et son contenu?
Je dois actualy créer un util dans core.jar qui travaillera avec le pot, exécuté avec "java jar *** pot"
OK, voici une bonne question:
Je main.jar avec méthode principale (permet de dire dans my.app.Main classe)
J'ai aussi fisrt.jar (avec certaines classes et ressources) et second.jar (avec quelques autres classes et ressources). Les deux n'ont pas de classes principales, les deux ont "main.jar" dans CLASSPATH, les deux ont la propriété Main-Class définie comme "my.app.Main".
Je peux exécuter mon application en exécutant « java jar first.jar » ou « java jar second.jar »
Dans ma méthode my.app.Main.main(String[] args)
(contenue dans main.jar) Je veux savoir la nom du pot exécuté (je veux obtenir soit "first.jar" ou "second.jar")
Comment pourrais-je le faire?
Voir [this] (http://stackoverflow.com/questions/2198525/can-values-defined-in-manifest-mf-be-accessed-programmatically) question. – er4z0r
Je ne connais ni nom-jar, ni nom de classe. Je sais seulement que jar a été utilisé dans la commande "java -jar * .jar". –
+1. En utilisant la réponse citée, vous pouvez rechercher le manifeste de chaque JAR potentiel, par ex.'find/path/to/jars -name '* jar' | xargs manifeste – trashgod