Πώς να μάθετε σε ποιο αρχείο .jar ανήκει μια συγκεκριμένη κλάση Java

τάξεις επίδειξης βάζων

Ένα από τα προβλήματα που αντιμετωπίζουμε πάντα προγραμματιστές λογισμικού Είναι αυτό της διαταραχής και είναι πολύ απλό να αρχίσετε να διασκορπίζετε αρχεία σε όλο το σύστημα μόλις αρχίσουμε να δοκιμάζουμε διαφορετικές εκδόσεις των προγραμμάτων μας (για παράδειγμα όταν τροποποιούμε κάποια λειτουργικότητα μέσα σε αυτό). Και το ίδιο συμβαίνει με αρχεία πηγαίου κώδικα, που μπορεί να φιλοξενήσει διαφορετικές τάξεις και, στη συνέχεια, είναι δύσκολο για εμάς να βρούμε σε ποια μπορεί να ανήκει.

Στην περίπτωση του Java, το πιο συνηθισμένο είναι η ανάγκη βρείτε σε ποιο αρχείο JAR ανήκει μια συγκεκριμένη κλάση Java για την επίλυση των τυπικών προβλημάτων του "NoClassDefFoundError" κάτι που ευτυχώς δεν είναι πολύ περίπλοκο, όπως θα δούμε παρακάτω. Αλλά πριν από αυτό θα το εξηγήσουμε αυτό Τα JAR είναι βασικά συμπιεσμένα αρχεία, με τέτοιο τρόπο ώστε να μπορέσουμε να τα εξετάσουμε, μια εναλλακτική λύση είναι να τα αποσυμπιέσουμε ή να αναζητήσουμε μια εναλλακτική που μας επιτρέπει να «κοιτάξουμε» μέσα τους.

Για να το κάνουμε αυτό, μπορούμε να εκτελέσουμε τα ακόλουθα, υποθέτοντας ότι πρόκειται να αναθεωρήσουμε ένα αρχείο που ονομάζεται αντίσταση (είναι από μια πολύ απλή εφαρμογή που έχω δημιουργήσει για να υπολογίσω την τιμή μιας αντίστασης), αλλά φυσικά σε κάθε περίπτωση αντικαθίσταται με το όνομα του αρχείου που θέλουμε να αναθεωρήσουμε:

$ βάζο tvf resistor.jar

Το αποτέλεσμα θα είναι αυτό που απεικονίζουμε στην επάνω εικόνα που συνοδεύει αυτήν την ανάρτηση και όπου έχουμε ορατά όλα τα αρχεία που αποτελούν ένα συγκεκριμένο JAR, μεταξύ των οποίων φυσικά είναι το περίφημο .class που απαρτίζεται από τις τάξεις μιας εφαρμογής, με την οποία θα ξέρουμε επιτέλους ποια είναι τα αρχεία που περιέχουν τις τάξεις που αναζητούμε.

Τώρα, παρόλο που στην περίπτωση του Linux έχουμε πάντα μπροστά μας έναν τρόπο να κάνουμε πράγματα από το τερματικό, για πολλούς χρήστες είναι πιο πρακτικό να τα κάνουμε από μια γραφική εφαρμογή, ακόμα κι αν συνεπάγεται την εγκατάσταση πρόσθετου λογισμικού στο σύστημά τους. Για αυτούς έχουμε ένα πρόγραμμα που ονομάζεται jar-explorer, που μας επιτρέπει να εξερευνήσουμε τα αρχεία JAR για να δούμε όλο το περιεχόμενό τους, και το καλό είναι ότι έχουμε ένα ολοκληρωμένο εργαλείο αναζήτησης, το οποίο μας προσφέρει αναδρομικές αναζητήσεις σε τάξεις Java.

Είναι μια εφαρμογή που αναπτύχθηκε, φυσικά, σε Java, για να το εγκαταστήσετε Ubuntu εκτελούμε:

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

Τώρα, μόλις ξεκινήσει η εφαρμογή, αυτό που πρέπει να κάνουμε είναι να πάμε στην επιλογή Αρχείο -> Εύρεση ριζικού καταλόγου ή αρχείου Jarκαι επιλέξτε τον κατάλογο στον οποίο έχουμε τα αρχεία JAR. Θα δούμε μια λίστα με όλα τα αρχεία, στην ενότητα «Λίστα αρχείων βάζων»και στη συνέχεια, το μόνο που μένει να κάνουμε είναι να εισαγάγουμε το όνομα της τάξης που αναζητούμε, την οποία κάνουμε στο πεδίο κειμένου που βρίσκεται στα δεξιά "Εισαγωγή τάξης για αναζήτηση"στο επάνω μέρος της οθόνης. Τέλος, κάντε κλικ στο κουμπί 'Αρχή' για να ξεκινήσει η αναζήτηση, η οποία θα διαρκέσει όχι περισσότερο από δευτερόλεπτα.

Αλλά εξερευνητής βάζων Έχει ακόμα ένα ακόμη χαρακτηριστικό που μπορεί να είναι πολύ χρήσιμο για εμάς και αυτό είναι επιτρέψτε μας να διερευνήσουμε τα περιεχόμενα κάθε ορισμού τάξης στην Java, κάτι που μπορούμε να επιτύχουμε κάνοντας απλώς κλικ στο όνομα της τάξης (από τα προηγούμενα αποτελέσματα αναζήτησης).

Αυτό είναι όλο, όπως μπορούμε να δούμε, αυτές είναι δύο διαφορετικές αλλά εντελώς έγκυρες προσεγγίσεις για την αναζήτηση τάξεων Java μεταξύ των αρχείων JAR, μια εργασία στην οποία οι προγραμματιστές πέφτουν περισσότερες από μία φορές και αυτό δεν πρέπει να είναι κουραστικό ή περίπλοκο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.