Comment savoir à quel fichier .jar appartient une certaine classe Java

classes d'affichage de pot

Un des problèmes auxquels nous sommes toujours confrontés développeurs de logiciels C'est celui du désordre, et c'est qu'il est très simple de commencer à avoir des fichiers dispersés dans tout le système une fois que nous avons commencé à tester différentes versions de nos programmes (par exemple lorsque nous modifions certaines fonctionnalités en son sein). Et la même chose se produit avec fichiers de code source, qui peut héberger différentes classes et alors il nous est difficile de trouver à laquelle chacun peut appartenir.

Dans le cas d' Java, le plus courant est d'avoir besoin trouver à quel fichier JAR appartient une certaine classe Java afin de résoudre les problèmes typiques de 'NoClassDefFoundError' quelque chose qui heureusement n'est pas trop compliqué comme nous le verrons ci-dessous. Mais avant cela, nous expliquerons que Les JAR sont essentiellement des fichiers compressés, de telle sorte que pour pouvoir les examiner, une alternative est de les décompresser ou de chercher une alternative qui nous permette de «regarder» à l'intérieur d'eux.

Pour ce faire, nous pouvons exécuter ce qui suit, en supposant que nous allons examiner un fichier appelé résistance (c'est à partir d'une application très simple que j'ai créée pour calculer la valeur d'une résistance), mais bien sûr dans chaque cas, il est remplacé avec le nom du fichier que nous voulons revoir:

$ jar tvf resistance.jar

Le résultat sera ce que nous visualisons dans l'image supérieure qui accompagne ce post, et où nous avons visible tous les fichiers qui composent un certain JAR, parmi lesquels bien sûr les fameux .class qui composent les classes d'une application, avec lesquels nous saurons enfin quels sont les fichiers contenant les classes recherchées.

Maintenant, même si dans le cas de Linux nous avons toujours devant nous une façon de faire les choses depuis le terminal, pour de nombreux utilisateurs, il est plus pratique de les faire à partir d'une application graphique, même si cela implique l'installation de logiciels supplémentaires sur leur système. Pour eux, nous avons un programme appelé jar-explorer, qui nous permet d'explorer les fichiers JAR pour voir tout leur contenu, et la bonne chose est que nous avons un outil de recherche intégré, qui offre des recherches récursives de classes Java.

C'est une application développée, bien sûr, en Java, donc pour l'installer dans Ubuntu nous exécutons:

$wget http://jar-explorer.googlecode.com/files/jarexplorer-0.7-BETA.jar
$ java -jar jarexplorer-0.7-BETA.jar

Désormais, une fois l'application démarrée, il ne reste plus qu'à passer à l'option de Fichier -> Rechercher le répertoire racine ou le fichier Jar, et sélectionnez le répertoire dans lequel nous avons les fichiers JAR. Nous allons voir une liste de tous les fichiers, dans la section 'Liste des fichiers Jar', puis il ne nous reste plus qu'à entrer le nom de la classe que nous recherchons, ce que nous faisons dans le champ de texte situé à droite de "Entrez la classe à rechercher"en haut de l'écran. Enfin, cliquez sur le bouton 'Début' pour commencer la recherche, qui ne prendra pas plus de secondes.

Mais explorateur de pots Il a encore une autre caractéristique qui peut nous être très utile et c'est nous permettent d'explorer le contenu de chaque définition de classe en Java, ce que nous pouvons réaliser en cliquant simplement sur le nom de la classe (à partir des résultats de recherche précédents).

C'est tout, comme nous pouvons le voir, ce sont deux approches différentes mais totalement valables pour rechercher des classes Java parmi nos fichiers JAR, une tâche dans laquelle les développeurs tombent plus d'une fois et qui n'a pas à être fastidieuse ou compliquée.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.