Je travaille actuellement sur une application polish J2ME, je ne fais que l'améliorer. Je rencontre des difficultés pour obtenir la version exacte du fichier jar. Existe-t-il un moyen de trouver la version du fichier jar pour les importations effectuées dans la classe? Je veux dire si vous avez quelque chose, importez xyz; pouvons-nous savoir à quelle version appartient le package jar xy?
jar
version
executable-jar
Ritesh Mengji
la source
la source
sqljdbc42.jar
fichiers que j'ai utilisés avec Cognos, mais Cognos est capable de signaler une version (4.2.6420.100). D'où vient cette version si elle n'est pas enregistrée dans le manifeste?Vous devez le décompresser et vérifier son
META-INF/MANIFEST.MF
fichier, par exempleou plus spécifique:
la source
Juste pour développer les réponses ci-dessus, dans le fichier META-INF / MANIFEST.MF dans le JAR, vous verrez probablement une ligne:
Manifest-Version: 1.0
← Ce n'est PAS le numéro de version du jar!Vous devez rechercher
Implementation-Version
quelle, si elle est présente, est une chaîne de texte libre qui appartient entièrement à l'auteur du JAR quant à ce que vous y trouverez. Voir aussi la documentation Oracle et la spécification de la version du packagela source
Juste pour compléter la réponse ci-dessus.
Le fichier manifeste est situé dans le fichier jar au
META-INF\MANIFEST.MF
chemin.Vous pouvez examiner le contenu de jar dans n'importe quel archiveur prenant en charge le zip.
la source
Chaque version de pot a une somme de contrôle unique. Vous pouvez calculer la somme de contrôle pour votre fichier jar (qui n'avait aucune information de version) et le comparer avec les différentes versions du fichier jar. Nous pouvons également rechercher un pot en utilisant la somme de contrôle.
Référez-vous à cette question pour calculer la somme de contrôle: Quelle est la meilleure façon de calculer une somme de contrôle pour un fichier qui se trouve sur ma machine?
la source
En gros, vous devriez utiliser la
java.lang.Package
classe qui utilise le classloader pour vous donner des informations sur vos classes.exemple:
Je pense que logback est connu pour utiliser cette fonctionnalité pour tracer le nom / la version JAR de chaque classe dans ses stacktraces produites.
voir également http://docs.oracle.com/javase/8/docs/technotes/guides/versioning/spec/versioning2.html#wp90779
la source
Ce programme simple listera tous les cas pour la version de jar à savoir
Fichier manifeste introuvable
Il utilise le jar javaxt-core qui peut être téléchargé à partir de http://www.javaxt.com/downloads/
la source
Je suis en retard mais vous pouvez essayer les deux méthodes suivantes
en utilisant ces classes nécessaires
Ces méthodes me permettent d'accéder aux attributs jar. J'aime être rétrocompatible et utiliser la dernière. Alors j'ai utilisé ça
Cela fonctionne bien lorsque vous utilisez maven et avez besoin de détails pom pour les classes connues. J'espère que cela t'aides.
la source
Pour Linux, essayez ce qui suit:
trouver . -name "VOTRE_FICHIER_JAR.jar" -exec zipgrep "Version-d'implémentation:" '{}' \; | awk -F ':' '{print $ 2}'
la source
Si vous avez winrar, ouvrez le bocal avec winrar, double-cliquez pour ouvrir le dossier
META-INF
. ExtrayezMANIFEST.MF
etCHANGES
fichiers à n'importe quel emplacement (par exemple, bureau)Ouvrez les fichiers extraits dans un éditeur de texte: vous verrez la version d'implémentation ou la version de publication.
la source
Vous pouvez filtrer la version du fichier MANIFEST en utilisant
unzip -p my.jar META-INF/MANIFEST.MF | grep 'Bundle-Version'
la source
Bundle-Version
.Je pensais que je donnerais une réponse plus récente car cette question revient toujours assez haut dans les recherches.
Vérification de la version CLi JAR:
Exécutez ce qui suit sur le fichier jar CLi:
Exemple de sortie:
La version CLi est répertoriée ci-dessus.
Pour obtenir la version du serveur, exécutez ce qui suit:
(ce qui précède variera en fonction de votre implémentation de l'authentification, veuillez changer en conséquence)
Exemple de sortie:
la source
Il peut être vérifié avec une commande
java -jar jarname
la source
main()
méthode du JAR