4

我可以在我的 Java 代码中读取 Manifest 文件,但我也想知道它是否可能,如果可能,如何从命令行打开 JAR 文件并查看其 Manifest.MF 文件,或者至少能够指定 Manifest.MF 文件的属性并查看它的值。

4

7 回答 7

5

这里

您可以从 jar 文件中提取选定的条目。例如,如果您只想查看 meta-inf/manifest.mf 文件,您可以

C:\Sun\AppServer\lib>jar xvf j2ee.jar META-INF/MANIFEST.MF
inflated: META-INF/MANIFEST.MF

或者使用反斜杠而不是正斜杠:

C:\Sun\AppServer\lib>jar xvf j2ee.jar META-INF\MANIFEST.MF
inflated: META-INF/MANIFEST.MF

条目名称区分大小写,因此以下内容不会提取任何内容:

 C:\Sun\AppServer\lib>jar xvf j2ee.jar meta-inf/manifest.mf

当然,您可以随时双击该条目以在 WinZip、fileroller 或其他工具中查看它。

于 2009-07-10T13:46:06.210 回答
2

像这样的东西应该工作:

jar -xf <jarfile.jar> META-INF/MANIFEST.MF
于 2009-07-10T13:46:58.127 回答
2

看起来unzip命令会对您有所帮助——它适用于大多数 Un*x 变体,并且如果您使用的是 Windows,它也是 cygwin 的一部分。unzip -qc *jar-file* META-INF/MANIFEST.MF会将清单的内容转储到控制台。

于 2009-07-19T18:25:47.303 回答
1

JDK 提供的 jar 可执行文件的工作方式与 tar 在 linux 上的工作方式相同。

例如 jar xvf .... 查看 jar 选项。

于 2009-07-10T13:45:24.633 回答
1

运行时属性不应在清单中定义,它们应在遵循 Java 属性样式的单独配置文件中定义。假设您出于某种原因在运行时检查清单。

但如果你需要:

jar xvf somejar.jar META-INF/MANIFEST.MF

将为您的观看乐趣增加清单。

于 2009-07-10T13:48:45.300 回答
1

命令没有办法jar;您可以获得的最接近的方法是用于-tf显示文件的存在或不存在或提取META-INF/MANIFEST.MF文件。-xf

解决方法:

  • 您可以编写自己的课程来执行此操作
  • 您可以使用任何 ZIP 文件查看器来提取内容 - 许多人会将存档中文件的内容写入标准输出,以便将其通过管道传输到另一个命令中(请记住,jar文件只是文件的特定用法zip
于 2009-07-10T13:50:28.467 回答
0

您可以为此使用 vi 。如果要确保不更改文件,请使用 -R 开关打开(只读)。例如:

vi -R sample-1.0.0-SNAPSHOT.jar

您可以使用向上/向下箭头导航到 zip 文件,或使用 / 进行搜索,例如:

/MANIFEST.MF

要退出,请键入以下序列

:q <Enter>
于 2016-08-30T12:34:02.117 回答