web-dev-qa-db-ja.com

Linux:.jarファイルの内容を確認する最も便利な方法は何ですか

Unzip/untarコマンドを使用して.jarファイルの内容を表示しない最も便利な方法は何ですか?私がしたいのは、通常のフォルダのようにcdコマンドを使用して内部を閲覧し、コンテンツ、クラスのサイズを確認することです-'ls -la'

MCはその場で行うことができます。使いやすい代替手段はありますか?

25
javagirl

Java SDKに付属しているjarツールを使用して、jarファイルの内容を一覧表示します。 http://docs.Oracle.com/javase/7/docs/で説明されています) technotes/tools/windows/jar.html

$ jar tvf jarfile.jar
32
nshah

Vimを使用して、抽出せずにjarファイルの内容を表示および編集します。

このようにvimでjarを開きます:

vim rabbitmq-client.jar

ファイルのリストが表示されます:

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/

カーソルをMETA-INF/MANIFEST.MFを押して Enter。あなたはこれを見ます:

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)

通常のvim編集コマンドを使用して数行を変更します。

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

jar内のファイルのリストに戻ります。終了します。

:q <enter>

変更が永続的かどうかを確認します:

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

これはいつも私にとって十分でした:

unzip -l <jarfile>

8
DevSolar

おもう .jarファイルは基本的に.Zipファイル。つまり、 Fuse-Zip は機能するでしょう。

2
Der Hochstapler

.jarファイルの名前を.Zipに変更するだけです。 IE、test.jarからtest.Zip。コンパイルされたすべてのクラスを確認できます。ただし、ソース自体を表示する場合は、逆コンパイラが必要です。

1
cutrightjm
  • コンテンツをリストするには:jar tvf jarfile.jar
  • 抽出するには:jar xvf jarfile.jar
1
Athi

私のように日付順にコンテンツを表示したい場合:

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

1
JStrahl

ssh mount を使用して、サーバーのファイルシステムをローカルに配置できます。その後、ローカルで利用可能なソフトウェアを使用して、ファイルシステムをナビゲートできます。 Far Managerは、アーカイブに移動するのに非常に強力です。

このソリューションでは、サーバーに追加のソフトウェアは必要なく、sshdだけが必要です。

0
kan