Si të zbuloni se cilit skedar .jar i përket një klasë e caktuar Java

klasat e shfaqjes së kavanozave

Një nga problemet me të cilat përballemi gjithmonë zhvilluesit e programeve kompjuterikë Thatshtë çrregullimi dhe është se është shumë e thjeshtë të fillosh të kesh skedarë të shpërndarë në të gjithë sistemin sapo të fillojmë të testojmë versione të ndryshme të programeve tona (për shembull kur modifikojmë disa funksionalitete brenda tij). Dhe e njëjta gjë ndodh me skedarët e kodit burimor, e cila mund të presë klasa të ndryshme dhe atëherë është e vështirë për ne të gjejmë se cilës mund t'i përkasë secila.

Në rastin e Java, më e zakonshme është që të keni nevojë gjeni se cilës skedar JAR i përket një klasë e caktuar Java në mënyrë që të zgjidhen problemet tipike të 'NoClassDefFoundError' diçka që për fat të mirë nuk është shumë e komplikuar siç do ta shohim më poshtë. Por para kësaj ne do ta shpjegojmë atë JARs janë në thelb skedarë të kompresuar, në një mënyrë të tillë që, në mënyrë që t'i shqyrtojmë, një alternativë është t'i dekompresojmë ato ose të kërkojmë një alternativë që na lejon të "shikojmë" brenda tyre.

Për këtë ne mund të ekzekutojmë sa vijon, duke supozuar se do të rishikojmë një skedar të quajtur rezistencë (është nga një aplikacion shumë i thjeshtë që kam krijuar për të llogaritur vlerën e një rezistence), por natyrisht në secilin rast ajo zëvendësohet me emrin e skedarit që duam të rishikohet:

$ jar tvf rezistencë.jar

Rezultati do të jetë ai që ne vizualizojmë në imazhin e sipërm që shoqëron këtë postim, dhe ku kemi të dukshme të gjitha skedarët që përbëjnë një JAR të caktuar, ndër të cilat sigurisht janë klasa e famshme. që përbëjnë klasat e një aplikacioni, me të cilën më në fund do të dimë se cilat janë skedarët që përmbajnë klasat që ne po kërkojmë.

Tani, edhe pse në rastin e Linux kemi gjithmonë para nesh një mënyrë për të bërë gjëra nga terminali, për shumë përdorues është më praktike t'i bëjmë ato nga një aplikacion grafik, edhe nëse nënkupton instalimin e softuerit shtesë në sistemin e tyre. Për ta kemi një program të quajtur jar-explorer, i cili na lejon të eksplorojmë skedarët JAR për të parë të gjithë përmbajtjen e tyre, dhe gjëja e mirë është që ne kemi një mjet kërkimi të integruar, i cili na ofron kërkime rekursive të klasave Java.

Isshtë një aplikacion i zhvilluar, natyrisht, në Java, kështu që ta instaloni në Ubuntu ne ekzekutojmë:

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

Tani, pasi të fillojë aplikimi, ajo që duhet të bëjmë është të shkojmë te opsioni i Skedari -> Gjeni direktorinë root ose skedarin Jar, dhe zgjidhni drejtorinë në të cilën kemi skedarët JAR. Ne do të shohim një listë të të gjitha skedarëve, në seksionin 'Jar File List', dhe pastaj gjithçka që duhet të bëjmë është të fusim emrin e klasës që po kërkojmë, gjë që e bëjmë në fushën e tekstit që ndodhet në të djathtë të 'Hyni në klasë për të kërkuar'në pjesën e sipërme të ekranit. Në fund, klikoni në butonin 'Fillim' për të filluar kërkimin, i cili nuk do të zgjasë më shumë se sekonda.

Por kavanoz-eksplorues ka akoma një veçori më shumë që mund të jetë shumë e dobishme për ne dhe kjo është na lejoni të eksplorojmë përmbajtjen e secilit përkufizim të klasës në Java, diçka që mund ta arrijmë duke klikuar vetëm në emrin e klasës (nga rezultatet e mëparshme të kërkimit).

Kjo është e gjitha, siç mund ta shohim, këto janë dy mënyra të ndryshme, por plotësisht të vlefshme për të kërkuar klasa Java midis skedarëve tanë JAR, një detyrë në të cilën zhvilluesit bien më shumë se një herë dhe kjo nuk duhet të jetë e lodhshme ose e komplikuar.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.