web-dev-qa-db-fra.com

Linux: quel est le moyen le plus pratique de voir le contenu du fichier .jar

Quel est le moyen le plus pratique de voir le contenu du fichier .jar sans utiliser les commandes unzip/untar? Ce que je voudrais faire - c’est naviguer à l’intérieur à l’aide de la commande cd, comme c’est le dossier habituel, voir le contenu, la taille des classes - 'ls -la'.

MC autorisé à le faire à la volée. Existe-t-il une alternative facile à utiliser?

23
javagirl

Utilisez l’outil jar fourni avec le SDK Java pour répertorier le contenu d’un fichier jar. Comme décrit dans http://docs.Oracle.com/javase/7/docs/technotes/tools/windows/jar.html

$ jar tvf jarfile.jar
28
nshah

Utilisez vim pour afficher et modifier le contenu d'un fichier jar sans extraire:

Ouvrez le pot dans vim comme ceci:

vim rabbitmq-client.jar

On vous présente une liste de fichiers:

1 " Zip.vim version v22
2 " Browsing zipfile /var/www/sandbox/eric/rabbitmq-client.jar
3 " Select a file with cursor and press ENTER
4
5 META-INF/
6 META-INF/MANIFEST.MF
7 com/
8 com/rabbitmq/
9 com/rabbitmq/client/
10 com/rabbitmq/client/impl/
11 com/rabbitmq/client/impl/recovery/
12 com/rabbitmq/tools/
13 com/rabbitmq/tools/json/
14 com/rabbitmq/tools/jsonrpc/
15 com/rabbitmq/utility/

Placez le curseur sur le META-INF/MANIFEST.MF et appuyez sur Enter. Vous voyez ceci:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_31-b31 (Sun Microsystems Inc.)
Export-Package: com.rabbitmq.client;version="3.3.5";uses:="com.rabbitm
 q.client.impl,com.rabbitmq.utility,javax.net,javax.net.ssl,javax.secu
 rity.auth.callback,javax.security.sasl",com.rabbitmq.client.impl;vers
 ion="3.3.5";uses:="com.rabbitmq.client,com.rabbitmq.utility,javax.net
 ",com.rabbitmq.client.impl.recovery;version="3.3.5";uses:="com.rabbit
 mq.client,com.rabbitmq.client.impl",com.rabbitmq.tools;version="3.3.5
 ";uses:="com.rabbitmq.utility",com.rabbitmq.tools.json;version="3.3.5
 ",com.rabbitmq.tools.jsonrpc;version="3.3.5";uses:="com.rabbitmq.clie
 nt",com.rabbitmq.utility;version="3.3.5"
Bundle-Vendor: SpringSource
Bundle-Version: 3.3.5
Tool: Bundlor 1.0.0.RELEASE
Bundle-Name: RabbitMQ Java AMQP client library
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.rabbitmq.client
Import-Package: javax.net;version="0",javax.net.ssl;version="0",javax.
 security.auth.callback;version="0",javax.security.sasl;version="0"

Name: rabbitmq-client
Specification-Title: AMQP
Specification-Version: 0.9.1
Specification-Vendor: AMQP Working Group (www.amqp.org)
Implementation-Title: RabbitMQ
Implementation-Version: 3.3.5
Implementation-Vendor: Rabbit Technologies Ltd. (www.rabbitmq.com)

Modifiez quelques lignes en utilisant les commandes normales d'édition de vim.

press 'i' to enter insert mode
edit your lines
press :wq<enter> to write and quit

Vous êtes redirigé vers une liste de fichiers dans le jar, quittez.

:q <enter>

Vérifiez si les changements sont permanents:

Follow the above steps again to inspect the file again, 
the change should still be there.
10
Eric Leschinski

Celui-ci me suffisait toujours:

unzip -l <jarfile>

8
DevSolar

Je pense que les fichiers .jar sont fondamentalement des fichiers .Zip. Donc, je suppose que Fuse-Zip pourrait fonctionner.

2
Der Hochstapler

Il suffit de renommer le fichier .jar en .Zip. IE, test.jar à test.Zip. Vous pourrez voir toutes les classes compilées. Si vous voulez voir la source elle-même, vous aurez besoin d'un décompilateur.

1
cutrightjm
  • Pour lister le contenu: jar tvf jarfile.jar
  • Pour extraire: jar xvf jarfile.jar
0
Athi

Vous pouvez utiliser un montage ssh pour disposer localement du système de fichiers du serveur. Ensuite, vous pouvez utiliser n’importe quel logiciel disponible localement pour naviguer dans le système de fichiers, par exemple, Far Manager est très puissant pour naviguer dans les archives.

Dans cette solution, vous n'avez besoin d'aucun logiciel supplémentaire sur le serveur, mais uniquement de sshd.

0
kan

Si vous souhaitez voir le contenu dans l'ordre des dates comme je l'ai fait:

jar tvf jarfile.{e,j,w}ar | sort -k 7,7 -k 3,3M -k 4,4n -k5,5

0
JStrahl