Come scoprire a quale file .jar appartiene una determinata classe Java

classi di visualizzazione jar

Uno dei problemi che dobbiamo sempre affrontare sviluppatori di software È quello del disordine, ed è molto semplice iniziare ad avere file sparsi nel sistema una volta che iniziamo a testare diverse versioni dei nostri programmi (ad esempio quando modifichiamo alcune funzionalità al suo interno). E lo stesso accade con file di codice sorgente, che può ospitare classi diverse e quindi è difficile per noi trovare a quale ciascuna possa appartenere.

Nel caso di Java, il più comune è aver bisogno trova il file JAR a cui appartiene una determinata classe Java al fine di risolvere i problemi tipici di "NoClassDefFoundError" qualcosa che per fortuna non è troppo complicato come vedremo di seguito. Ma prima lo spiegheremo I JAR sono fondamentalmente file compressi, in modo tale che per esaminarli un'alternativa sia decomprimerli o cercare un'alternativa che ci permetta di “guardarci” dentro.

Per questo possiamo eseguire quanto segue, assumendo che andremo a rivedere un file chiamato resistor (è da un'app molto semplice che ho creato per calcolare il valore di una resistenza), ma ovviamente in ogni caso viene sostituito con il nome del file che vogliamo rivedere:

$ jar tvf resistenza.jar

Il risultato sarà quello che visualizziamo nell'immagine in alto che accompagna questo post e dove abbiamo visibili tutti i file che compongono un determinato JAR, tra cui ovviamente ci sono i famosi .class che compongono le classi di un'applicazione, con cui finalmente sapremo quali sono i file che contengono le classi che stiamo cercando.

Ora, anche se nel caso di Linux abbiamo sempre davanti a noi un modo di fare le cose da terminale, per molti utenti è più pratico farle da un'applicazione grafica, anche se implica l'installazione di software aggiuntivo sul proprio sistema. Per loro abbiamo un programma chiamato jar-explorer, che ci consente di esplorare i file JAR per visualizzare tutto il loro contenuto, e la cosa buona è che abbiamo uno strumento di ricerca integrato, che offre ricerche ricorsive di classi Java.

È un'applicazione sviluppata, ovviamente, in Java, quindi per installarlo in Ubuntu eseguiamo:

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

Ora, una volta avviata l'applicazione, quello che dobbiamo fare è passare all'opzione di File -> Trova la directory principale o il file Jare seleziona la directory in cui abbiamo i file JAR. Vedremo un elenco di tutti i file, nella sezione "Elenco file jar", e poi tutto quello che dobbiamo fare è inserire il nome della classe che stiamo cercando, cosa che facciamo nel campo di testo situato a destra di "Inserisci la classe da cercare"nella parte superiore dello schermo. Infine, fai clic sul pulsante 'Inizio' per iniziare la ricerca, che non richiederà più di secondi.

Ma esploratore di vasi Ha ancora un'altra caratteristica che può esserci molto utile e cioè permetteteci di esplorare il contenuto di ciascuna definizione di classe in Java, cosa che possiamo ottenere semplicemente facendo clic sul nome della classe (dai risultati di ricerca precedenti).

Questo è tutto, come possiamo vedere, si tratta di due approcci diversi ma totalmente validi per la ricerca di classi Java tra i nostri file JAR, un'attività in cui gli sviluppatori cadono più di una volta e che non deve essere noiosa o complicata.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.