[英]How do I use manifest.mf class-path for alternative main in same jar?
[英]How do I verify the order of MANIFEST.MF within jar?
我遇到了一个对我来说绝对新鲜的有趣问题。 正如我突然发现的,Jar规范说,包括在内, META-INF
和MANIFEST.MF
必须是*.jar
包的第一和第二个条目,而不仅仅是归档中的目录和文件。
我正在使用Java框架非常注意这个要求而不是那么冗长。 如何检查META-INF
和MANIFEST.MF
是否在jar中正确订购?
更新:许多罐子都是第三方,其中有很多。 我无法在记事本,excel,hexeditor,photoshop或任何寻找字节序列的东西中打开这些罐子。 我需要命令行工具。 谢谢!
更新2:以下是我提出这个问题的原因: http : //www.mail-archive.com/dev@felix.apache.org/msg17097.html
以下命令将按顺序列出JAR的内容:
jar tf foo.jar
请注意,首先出现META-INF/MANIFEST.MF
的JAR规范中没有实际要求。 然而,通过内置的JAR jar
工具(与JDK提供) 先做有清单,因此它已成为一个惯例。
带有JDK的jar工具会自动添加它们,所以不应该做任何事情。 如果你真的想检查,得到一个十六进制编辑器,并在任何其他文件名之前查找字符串'META-INF'和'MANIFEST.MF'。
要修复损坏的JAR:
$ mkdir foo
$ cd foo
$ jar xvf ../broken.jar
$ mv META-INF/MANIFEST.MF /tmp/mymanifest
$ jar cvfm fixed.jar /tmp/mymanifest .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.