Paano malaman kung aling .jar file ang isang tiyak na klase ng Java na kabilang

mga klase sa pagpapakita ng garapon

Isa sa mga problemang lagi nating kinakaharap mga developer ng software Ito ay ang karamdaman, at ito ay napakasimple upang simulan ang pagkakaroon ng mga file na nakakalat sa buong system sa sandaling magsimula kaming subukan ang iba't ibang mga bersyon ng aming mga programa (halimbawa kapag binago namin ang ilang pag-andar sa loob nito). At ang parehong nangyayari sa mga file ng source code, na maaaring mag-host ng iba't ibang mga klase at pagkatapos ay mahirap para sa amin na hanapin kung aling isa ang maaaring kabilang.

Sa kaso ng Java, ang pinakakaraniwan ay ang kailangan hanapin kung aling JAR ang file ng isang tiyak na klase ng Java kabilang upang malutas ang mga tipikal na problema ng 'NoClassDefFoundError' isang bagay na sa kabutihang-palad ay hindi masyadong kumplikado tulad ng makikita natin sa ibaba. Ngunit bago iyon ipapaliwanag namin iyon Ang mga JAR ay karaniwang naka-compress na mga file, sa paraang upang masuri ang mga ito, isang kahalili ay upang mai-decompress ang mga ito o maghanap ng isang kahalili na nagpapahintulot sa amin na 'tumingin' sa loob nila.

Para dito maaari naming maisagawa ang sumusunod, sa pag-aakalang susuriin namin ang isang file na tinatawag na risistor (ito ay mula sa isang napaka-simpleng app na nilikha ko upang makalkula ang halaga ng isang paglaban), ngunit syempre sa bawat kaso napalitan ito ng ang pangalan ng file na nais naming suriin:

$ jar tvf risistor.jar

Ang resulta ay ang makikita natin sa itaas na imahe na kasama ng post na ito, at kung saan mayroon kami nakikita ang lahat ng mga file na bumubuo ng isang tiyak na JAR, bukod sa alin sa kurso ay ang sikat na .class na bumubuo sa mga klase ng isang application, na sa wakas ay malalaman natin kung alin ang mga file na naglalaman ng mga klase na aming hinahanap.

Ngayon, kahit na sa kaso ng Linux palagi kaming nasa harap namin ng isang paraan ng paggawa ng mga bagay mula sa terminal, para sa maraming mga gumagamit mas praktikal na gawin ang mga ito mula sa isang grapikong aplikasyon, kahit na nagpapahiwatig ito ng pag-install ng karagdagang software sa kanilang system. Para sa kanila mayroon kaming isang programa na tinatawag jar-explorer, na nagbibigay-daan sa amin upang galugarin ang mga file ng JAR upang matingnan ang lahat ng kanilang nilalaman, at ang magandang bagay ay mayroon kaming isang integrated tool sa paghahanap, na nag-aalok ng recursive na paghahanap ng mga klase sa Java.

Ito ay isang application na binuo, syempre, sa Java, kaya upang mai-install ito sa Ubuntu isinasagawa namin:

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

Ngayon, sa sandaling magsimula ang application, kung ano ang kailangan nating gawin ay pumunta sa pagpipilian ng File -> Maghanap ng direktoryo ng root o Jar file, at piliin ang direktoryo kung saan mayroon kaming mga JAR file. Makikita namin ang isang listahan ng lahat ng mga file, sa seksyon 'Listahan ng File ng Jar', at pagkatapos ang natitira lamang sa amin na gawin ay ipasok ang pangalan ng klase na aming hinahanap, na ginagawa namin sa patlang ng teksto na matatagpuan sa kanan ng 'Pumasok sa klase upang maghanap'sa tuktok ng screen. Panghuli, mag-click sa pindutan 'Magsimula' upang simulan ang paghahanap, na tatagal ng hindi hihigit sa mga segundo.

Peras garapon-explorer Mayroon pa itong isang katangian na maaaring maging napaka kapaki-pakinabang sa atin at iyon ay payagan kaming galugarin ang mga nilalaman ng bawat kahulugan ng klase sa Java, isang bagay na maaari naming makamit sa pamamagitan lamang ng pag-click sa pangalan ng klase (mula sa nakaraang mga resulta sa paghahanap).

Iyon lang, tulad ng nakikita natin, ito ay dalawang magkakaiba ngunit ganap na wastong pamamaraang upang maghanap para sa mga klase sa Java sa aming mga file na JAR, isang gawain kung saan nahuhulog ang mga developer nang higit sa isang beses at hindi iyon dapat maging nakakapagod o kumplikado.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.