Java JIMAGE文件与JAR文件META-INF/MANIFEST.MF的等效性是什么?

Java JIMAGE文件与JAR文件META-INF/MANIFEST.MF的等效性是什么?,java,java-module,java-platform-module-system,Java,Java Module,Java Platform Module System,我主要使用Scala,到目前为止,它与Java8最兼容。然而,我一直对Java 11感到厌倦,切换到模块的一个特殊元素引起了我的兴趣 在处理打包在JAR文件中的库时,通过检查嵌入的META-INF/MANIFEST.MF文件中的标准属性(如实现和规范供应商、标题和版本等),可以相当直接地检索关于它的信息。(好的,所以该文件或其中一些属性可能丢失,但它们通常可供我使用。) 然而,新的JIMAGE格式似乎明确禁止使用META-INF/MANIFEST.MF文件(请参见此示例) 是否有方法指定和检索打

我主要使用Scala,到目前为止,它与Java8最兼容。然而,我一直对Java 11感到厌倦,切换到模块的一个特殊元素引起了我的兴趣

在处理打包在JAR文件中的库时,通过检查嵌入的
META-INF/MANIFEST.MF
文件中的标准属性(如实现和规范供应商、标题和版本等),可以相当直接地检索关于它的信息。(好的,所以该文件或其中一些属性可能丢失,但它们通常可供我使用。)

然而,新的JIMAGE格式似乎明确禁止使用
META-INF/MANIFEST.MF
文件(请参见此示例)

是否有方法指定和检索打包在JIMAGE文件中的库的相应信息?特别是,我想为以下标准清单属性定义并获取等效值:

  • 实施标题
  • 实施供应商
  • 实施版本
  • 规范标题
  • 规范供应商
  • 规范版本

jimage格式只在内部使用,用于存储属于JDK一部分的类文件。它不是打包库的通用格式,不可在JDK之外使用。

请原谅我的无知。jimage是什么?Google没有找到任何东西。@Abra试试这个……嗨,Mark,谢谢你花时间回复。我似乎很好奇ecall发现可以创建一个包含用户代码和资源以及JDK的自定义JIMAGE。这有可能吗?如果没有,是否有计划在将来为用户库开放此格式的使用?如果只是包含JDK,那么我想我可以从系统中检索同等的信息m属性,这样就可以解决这个问题。但是,如果在给定类类型引用的情况下,有一个单一的机制来检索此类信息就更好了。在jdk之外不支持使用jimage格式,目前也没有计划添加这种支持。如果使用
jlink
链接工具要创建自定义JDK映像并以显式模块的形式提供您自己的代码,那么您的代码将存储在生成的JDK中的内部jimage文件中。该文件本身分为多个模块,每个模块都可以携带自己的资源,包括
META-INF/MANIFEST.MF
,如果您喜欢。太好了。感谢您的澄清!