gpt4 book ai didi

java - manifest.mf 文件是否显示 jar 的版本?

转载 作者:太空宇宙 更新时间:2023-11-04 07:58:32 25 4
gpt4 key购买 nike

简介

我创建了一个脚本,该脚本循环遍历应用程序服务器上所有已安装的应用程序,每个应用程序都会找到 WEB-INF/lib-folder。然后,对于 lib 文件夹中的所有第三方 jar 文件,我 extract the manifest-file基于只有一个实现版本 pr 的假设来查找实现版本键及其值。 list .mf。到目前为止一切顺利,但是...有些应用程序在某种程度上依赖于 XML,因此在 lib 文件夹中包含像

  • xalan.jar
  • xml-apis.jar
  • xerxesImpl.jar

问题

所以,然后去阅读 Jar-file specification我必须承认这并没有让我清楚:我是否应该能够通过读取manifest.mf 文件中的单个条目来找到jar 文件的版本?

manifest.mf 示例

这是在应用程序之一中找到的 xalan.jar 文件的 MANIFEST.MF 内容的一部分。这表明编写一个能够知道所有jar文件版本的脚本是很困难的。

Manifest-Version: 1.0
Created-By: 1.3.1 (IBM Corporation)
Main-Class: org.apache.xalan.xslt.Process
Class-Path: xercesImpl.jar xml-apis.jar serializer.jar

Name: org/apache/xalan/
Comment: Main Xalan engine implementing TrAX/JAXP
Specification-Title: Java API for XML Processing
Specification-Vendor: Sun Microsystems Inc.
Specification-Version: 1.3
Implementation-Title: org.apache.xalan
Implementation-Version: 2.7.0
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/xalan-j/

Name: org/apache/xpath/
Comment: XPath engine
Implementation-Title: org.apache.xpath
Implementation-Version: 2.7.0
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/xalan-j/

Name: org/apache/xml/
Comment: DTM implementation and utilities
Implementation-Title: org.apache.xml
Implementation-Version: 2.7.0
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/xalan-j/

事后思考

但是 - 也许我应该创建一个要忽略的 jar 的“黑名单”,例如所有与 XML 相关的 jar。我找到了这个链接Xerces and Xalan locations and versions ,表明我无法通过查看 manifest.mf 文件找到 xalan.jar 的版本。相反,我需要获取版本类的输出。

最佳答案

Should I be able to find the version of the jar file by just reading a single entry in the manifest.mf-file?

您“也许”能够通过这种方式找到版本号,但 JAR 文件中的版本号是可选的。 (事实上​​,即使是版本的想法也是“可选的”。Java 中没有任何内容要求您对代码进行版本控制……尽管这无疑是一个好主意!)

您的“事后想法”肯定看起来更简单,尽管您需要查看相关规范来决定它是否需要工作。

关于java - manifest.mf 文件是否显示 jar 的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com