Java 如何查找jar文件中的文件数

Java 如何查找jar文件中的文件数,java,metrics,Java,Metrics,我是java初学者,这实际上不是一个程序问题,但我想从你们那里得到一些关于如何获取.jarjava文件中文件数量的建议?是否有任何度量工具可以用于此(考虑它是一个.jar文件) 您应该能够使用zip工具(附带注意事项,请参见下文)或jar。发件人: 在软件中,JAR(Java ARchive)是一种包文件格式,通常用于将许多Java类文件以及相关元数据和资源(文本、图像等)聚合到一个文件中,以便在Java平台上分发应用软件或库。[3] JAR文件是基本的归档文件,基于ZIP文件格式构建,扩展名为

我是java初学者,这实际上不是一个程序问题,但我想从你们那里得到一些关于如何获取
.jar
java文件中文件数量的建议?是否有任何度量工具可以用于此(考虑它是一个.jar文件)

您应该能够使用zip工具(附带注意事项,请参见下文)或
jar
。发件人:

在软件中,JAR(Java ARchive)是一种包文件格式,通常用于将许多Java类文件以及相关元数据和资源(文本、图像等)聚合到一个文件中,以便在Java平台上分发应用软件或库。[3]

JAR文件是基本的归档文件,基于ZIP文件格式构建,扩展名为.JAR。计算机用户可以使用JDK附带的JAR命令创建或提取JAR文件。他们也可以使用zip工具来实现这一点;但是,压缩时zip文件头中条目的顺序很重要,因为清单通常需要放在第一位。在JAR中,文件名是unicode文本。[4]


您应该能够使用zip工具(附带注意事项,请参见下文)或
jar
。发件人:

在软件中,JAR(Java ARchive)是一种包文件格式,通常用于将许多Java类文件以及相关元数据和资源(文本、图像等)聚合到一个文件中,以便在Java平台上分发应用软件或库。[3]

JAR文件是基本的归档文件,基于ZIP文件格式构建,扩展名为.JAR。计算机用户可以使用JDK附带的JAR命令创建或提取JAR文件。他们也可以使用zip工具来实现这一点;但是,压缩时zip文件头中条目的顺序很重要,因为清单通常需要放在第一位。在JAR中,文件名是unicode文本。[4]


由于
.jar
文件只是
.zip
文件,您可以使用相同的工具来处理它们。在*nix上,如果要列出JAR中的所有文件:

$unzip-l filename.jar
将产生与以下类似的输出:

Archive:filename.jar
长度日期时间名称
--------    ----   ----    ----
1211 03-03-14 13:06 bar/foo/swing/window/FrameOperator工厂级
2344 03-03-14 13:06 bar/foo/swing/window/FrameOperator.class
1509 06-30-07 14:03 LICENSE.txt
--------                   -------
51843903文件
(以上输出只是一个示例。)

如果只需要
*.class
文件:

$unzip-l filename.jar | grep\.class | wc-l

如果你想获得更多的控制权,你最好只解压缩它,然后用那种方式处理文件。

因为
.jar
文件就是
.zip
文件,你可以用同样的工具处理它们。在*nix上,如果要列出JAR中的所有文件:

$unzip-l filename.jar
将产生与以下类似的输出:

Archive:filename.jar
长度日期时间名称
--------    ----   ----    ----
1211 03-03-14 13:06 bar/foo/swing/window/FrameOperator工厂级
2344 03-03-14 13:06 bar/foo/swing/window/FrameOperator.class
1509 06-30-07 14:03 LICENSE.txt
--------                   -------
51843903文件
(以上输出只是一个示例。)

如果只需要
*.class
文件:

$unzip-l filename.jar | grep\.class | wc-l

如果您想要更多的控制,您最好只解压缩它并以这种方式处理文件。

您可以使用以下命令查找特定jar文件中的类数

jar tvf {jar location with jar name} | grep .class | wc -l
例如:

jar tvf launcher/target/user.jar | grep .class | wc -l

您可以使用以下命令来查找特定jar文件中的类数

jar tvf {jar location with jar name} | grep .class | wc -l
例如:

jar tvf launcher/target/user.jar | grep .class | wc -l

你能用winzip打开吗?@IanO'Brien是的,我能打开。你能用winzip打开吗?@IanO'Brien是的,我能打开。我指的只是类文件的数量。不是jar文件中的全部文件。我使用SONARQUBE查找.zip文件中的文件数、类数和代码行数。但是我不能对.jar文件使用相同的工具。有没有其他方法可以让我了解这些指标?我指的是类文件的数量。不是jar文件中的全部文件。我使用SONARQUBE查找.zip文件中的文件数、类数和代码行数。但是我不能对.jar文件使用相同的工具。有没有其他方法可以让我了解这些指标?