Linux: qual é a maneira mais conveniente de ver o conteúdo do arquivo .jar

20

Qual é a maneira mais conveniente de ver o conteúdo do arquivo .jar sem usar comandos unzip / untar? O que eu gostaria de fazer - é navegar dentro usando o comando cd como se fosse a pasta usual, vendo conteúdo, tamanho das classes - 'ls -la' .

MC permitiu fazer isso imediatamente. Existe alguma alternativa fácil de usar?

    
por javagirl 27.04.2012 / 14:37

7 respostas

25

Use a ferramenta jar que vem com o Java SDK para listar o conteúdo de um arquivo jar. Conforme descrito no link

$ jar tvf jarfile.jar
    
por 15.06.2012 / 23:04
8

Use o vim para visualizar e editar o conteúdo de um arquivo jar sem extrair:

Abra o jar no vim assim:

vim rabbitmq-client.jar

Você recebe uma lista de arquivos:

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/

Coloque o cursor sobre o META-INF/MANIFEST.MF e pressione Enter . Você vê isso:

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)

Altere algumas linhas usando comandos normais de edição vim.

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

Você é levado de volta a uma lista de arquivos no jar, saia.

:q <enter>

Verifique se as alterações são permanentes:

Follow the above steps again to inspect the file again, 
the change should still be there.
    
por 08.09.2014 / 21:52
8

Esse sempre foi o suficiente para mim:

unzip -l <jarfile>

    
por 15.06.2012 / 23:25
2

Acho que .jar arquivos são basicamente .zip arquivos. Então, acho que o fuse-zip pode funcionar.

    
por 27.04.2012 / 14:42
1

Basta renomear o arquivo .jar para um .zip. IE, test.jar to test.zip . Você poderá ver todas as classes compiladas. Se você quiser ver a fonte, no entanto, precisará de um decompilador.

    
por 27.04.2012 / 14:46
0

Você pode usar uma ssh mount para ter o sistema de arquivos do servidor localmente. Depois disso, você pode usar qualquer software disponível localmente para navegar no sistema de arquivos, por exemplo, Far Manager é muito poderoso para navegar em arquivos.

Nesta solução você não precisa de nenhum software adicional no servidor, apenas sshd.

    
por 13.06.2012 / 11:23
0

Caso você deseje ver o conteúdo em ordem de data como eu fiz:

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

    
por 09.10.2015 / 12:46

Tags