Inhoud van een .jar-bestand bekijken

Wat is de gemakkelijkste manier om klassen, methoden, eigenschappen, enz. in een jar-bestand te bekijken?
Ik ben op zoek naar iets dat vergelijkbaar is met de zeer nuttige Lutz Roeder .NET Reflector – voor Java


Antwoord 1, autoriteit 100%

Met behulp van de JDK zal jar -tfde bestanden in de jar weergeven. javapgeeft je meer details van een bepaald klassenbestand.


Antwoord 2, autoriteit 19%

Ik open ze meestal met 7-Zip… Hiermee kunnen in ieder geval pakketten, klassen en bronnen worden bekeken.
Als ik methoden of velden moet zien, zou ik Jad gebruiken, maar het is natuurlijk beter om te vertrouwen op (goede) JavaDoc…

Nu, ergens op SO werden enkele Eclipse-plug-ins genoemd, om uit te zoeken in welk jar-bestand een klasse zich bevindt, misschien kunnen ze meer doen (dat wil zeggen wat je hebt gevraagd).

[EDIT] Verwijzing naar SO-thread. Niet wat wordt gevraagd, maar op de een of andere manier gerelateerd, dus handig: Java: hoe weet ik welk jar-bestand ik moet gebruiken bij een klassenaam?


Antwoord 3, autoriteit 11%

Wat ik persoonlijk gebruik is JD-GUI. Het is een gratis ‘decompiler’, omdat je de broncode, klassen en objecten in de klassen kunt zien, evenals de bestandsstructuur in een boommenu aan de linkerkant. U kunt de klassen echter niet rechtstreeks wijzigen.

JD-GUI’s website: http://jd.benow.ca/


Antwoord 4, autoriteit 10%

Als iemand dit nog niet weet, een JAR-bestand is slechts een ZIP-bestand
die de klassen, bronnen, enz. van het programma bevat, en sommige
metagegevens. Je kunt er een extraheren om te zien hoe het in elkaar zit.

Daarom gebruik ik de opdracht unzipdie gemakkelijk te onthouden en te gebruiken is.

unzip -l <jar-file-name>.jar

Als je bijvoorbeeld een jar-bestand hebt met de naam test.jar, dan zal unzip -l test.jaralle inhoud van het jar-bestand weergeven.

Hoewel alle andere antwoorden geweldig zijn, maar voor de meeste ervan, zou je software moeten gebruiken, zoals 7 zipof JDKof een andere eclipse-tool terwijl dit niet vereist dat je een van deze grote s/w hebt en het wordt standaard geleverd in linux en mac, dus het is erg licht en handig in gebruik.

U kunt ook zipinfo <your jar file>gebruiken. als uw besturingssysteem dit ondersteunt.


Antwoord 5, autoriteit 5%

Methodenamen, velden, enz.

Door een jar toe te voegen aan een project in een IDE, kun je meestal methoden en veldnamen zien, maar niet de gedetailleerde implementatie. NetBeans kan het, Eclipse waarschijnlijk, IntelliJ waarschijnlijk, enz. U kunt direct in de IDE door de jar-structuur bladeren.

Alleen de inhoud

Voor alles, zoals het bekijken van de inhoud, kunt u het volgende gebruiken:

  • jar tvf jarfile.jar
  • winzip of een andere zip-tool

De broncode

Om toegang te krijgen tot de broncode, gebruikt u een decompiler zoals JAD of een van de frontends of een andere decompiler. Als de code onduidelijk is, dan …


Antwoord 6, autoriteit 4%

jar -tvf file_name.jar

hierboven worden alleen namen van de bestanden afgedrukt.

Als u de inhoud van bestanden wilt bekijken, kunt u de bestanden in een map uitpakkendoor:

jar -xvf file_name.jar

dit zal het jar-bestand uitpakken & plaats de inhoud in dezelfde map waarin u dit uitvoert.

Of hernoem in Windows het .jar-bestand naar .zip & dan kun je uitpakken om & bekijk de inhoud van het jar-bestand. Omdat jar intern een zip-bestand is.


Antwoord 7, autoriteit 4%

Als je het antwoord van Tom Hawtin uitbreidt, kun je de lijst doorsluizen om de gewenste klasse of bestanden eruit te filteren:

jar tf my-fat-jar-file.jar | grep filename

Dit zou moeten werken op bash/zsh en soortgelijke, of emacs’ eshell.

Aanvullende informatie: https://docs.oracle.com/javase /tutorial/deployment/jar/view.html


Antwoord 8, autoriteit 3%

Gebruik WinRar. Het zal de mappenstructuur op een intacte manier voor u openen. Staat ook bewerking in het archief toe, met behoud van paden.

Per slot van rekening is een JAR-bestand alleen een ZIP-archief.


Antwoord 9, autoriteit 2%

Als je wilt zien wat erin zit, hernoem dan gewoon de eerste optie hieronder..

  1. F2 & Rename to jarfile.zip//Gebruik een unzipper…

  2. jar tvf jarfile.jar

  3. jar tf jarfile.jar


Antwoord 10, autoriteit 2%

Als ik het goed begrijp, wil je niet alleen klassen zien, maar ook methoden, eigenschappen enzovoort. De enige tool die ik ken die dit kan, is Eclipse – als je een jar toevoegt aan het klassenpad van het project, zou je door de klassen kunnen bladeren met methoden en eigenschappen met behulp van de gebruikelijke pakketverkenner.

Hoe dan ook, dit is een goed idee voor een goede zelfstandige Java-tool


Antwoord 11

Jad is klunky en niet langer gehandhaafd. Ik ben ingeschakeld op “Java Decompiler” , die een slick-gebruikersinterface heeft voor nieuwe taalfuncties .

Elke decompiler die ik echter heb gebruikt, loopt er echter naar code. Het is niet succesvol decompileert. Voor die, helpt het om de gedemonteerde Java byte-code te begrijpen die wordt geproduceerd door de standaard JDK-tool, JAVAP .


Antwoord 12

Nou, een JAR-bestand is slechts een ZIP-bestand, dus als u het unzipt (met uw favoriete unzipping utility), krijgt u alle bestanden binnenin.

Als u in de klasbestanden wilt kijken om de methoden te bekijken, heeft u daarvoor een hulpmiddel nodig. Zoals Philho vermeldt, kan Eclipse dat doen (standaard), en ik zou denken dat de meeste Java-ID’s dat in staat zijn.


Antwoord 13

In Eclipse 3.4 do

  1. Sleep het JAR-bestand in kwestie in een Java-project. Er verschijnt een kopie van het JAR-bestand.
  2. Klik met de rechtermuisknop op het JAR-bestand en kies “Build Path” – & GT; “Toevoegen aan het bouwen van pad”.
  3. JAR-bestand wordt verplaatst naar “referentiebibliotheken” -knooppunt, waar het kan worden geopend en geavigeerd in het Project Explorer-paneel.

Als u ook de broncode ziet een probleem, opent u een nieuwe vraag.

Voor navigatie op JAR-bestandsniveau (als een ZIP-bestand) gebruik ik 7ZIP die heel goed werkt en laat het zien en bewerken van vermeldingen die geweldig zijn voor problemen met het fotograferen.


Antwoord 14

Een manier om dit te doen is om het perspectief te openen in “Package Explorer”. Dit doen kun je de structuur van je pot zien met klasse details. Controleer hiervoor de bibliotheekmap in uw project met Package Explorer.

Window & GT; & GT; Show View & GT; & GT; Other & GT; & GT; Java & GT; & GT; Package Explorer

Een andere manier is om JarPlug te gebruiken als een eclips-plug-in. Dit werkt in eclipse/springsource

http://jar-plug.sourceforge.net/


Antwoord 15

Als je in Windows werkt en powershell gebruikt en je zoekt naar een bestand in een pot, dan kun je het volgende doen:

jar -tf .\[JAR_NAME] | where {$_ -match "[FILENAME]"}

Antwoord 16

Mijn vereiste was om de inhoud van een bestand (zoals een eigenschappenbestand) in de jar te bekijken, zonder de jar daadwerkelijk uit te pakken. Als iemand net als ik deze thread heeft bereikt, probeer dan deze opdracht –

unzip -p myjar.jar myfile.txt

Dit werkte goed voor mij!


Antwoord 17

Deze Jar Exploreris goed genoeg.
Ondersteunt drie typen decompiler: JD, Procyon en Fernflower.
Hiermee kunt u bestanden en duplicaten zoeken in elk java-archief.
Ook kan de gebruiker jar door D&D-bestanden wijzigen en enkele niet-klassebestanden bewerken.


Antwoord 18

Je kunt JAR-bestanden zoals ZIP-bestanden bekijken vanuit Windows Verkenner door het volgende te doen:

  • Voer opdrachtprompt uit als beheerder
  • Voer op de opdrachtregel in:

    assoc .jar=CompressedFolder

  • Terwijl je toch bezig bent, kun je net zo goed hetzelfde doen voor WAR- en EAR-bestanden:

    assoc .war=CompressedFolder

    assoc .ear=CompressedFolder


Antwoord 19

Je kunt ze tegenwoordig openen met de meeste decompressieprogramma’s, en dan iets kopen als DJ Java Decompilerals je de bron wilt bekijken.


Antwoord 20

Bndtoolsbiedt een gratis JAR-viewer-plug-in voor Eclipse.

Voeg de Eclipse-updatesitetoe en installeer alleen de viewer.


Antwoord 21

Ik denk dat Java Decomplier de beste optie is die je hier kunt downloaden: http://jd.benow.ca/


Antwoord 22

Ik geef de voorkeur aan JAR Browser, het heeft een eenvoudige interface waar je door meerdere JAR’s kunt bladeren en kunt zoeken naar een specifieke klasse over meerdere JAR’s tegelijk.


Antwoord 23

Eclipse 3.4 JDT

Het is niet de snelste manier omdat je het eerst naar je eclips moet slepen.
Maar u kunt volledig door Java-klassen browsen, zelfs als decompileren is ingeschakeld.


Antwoord 24

Ik heb de standaardactie in Windows ingesteld op “Openen met WinZip”. Dit maakt het eenvoudig om JAR’s als archieven te beheren. U kunt zelfs handmatig bestanden toevoegen/verwijderen.


Antwoord 25

De eenvoudigste manier om klassen, methoden, eigenschappen, enz. in een jar-bestand te bekijken, is door programma’s te gebruiken zoals ‘winrar‘ en ‘7-Zip‘.

  • Download winrar- of 7-zip-programma als het niet is geïnstalleerd
  • Klik vervolgens met de rechtermuisknop naar uw jar-bestand
  • Klik openen met winrar of 7-zip

Antwoord 26

Je zou JarSpykunnen proberen. Er is een IDEA-plug-inversie die ik gebruik.


Antwoord 27

Uw IDE zou dit ook moeten ondersteunen. Mijn IDE (SlickeEdit) noemt het een “tagbibliotheek”. Voeg eenvoudig een tagbibliotheek toe voor het jar-bestand en u zou op een hiërarchische manier door de klassen en methoden moeten kunnen bladeren.


Antwoord 28

Op Mac is er Jarzilla


Antwoord 29

Ik gebruik JarExplorer of JarVisualizer.


Antwoord 30

U kunt JarNavigatorproberen om de inhoud van een jar-bestand te bekijken en te doorzoeken.

Other episodes