我想向我创建的库添加版本信息(可能还有其他关于jar的其他元数据)。但是,我不确定要使用什么属性。我发现specification以及documentation解释可以有一个Specification-Version
和一个Implementation-Version
(以及两者的标题和供应商)。但是没有正确解释规范和实现之间的区别。JAR清单文件 - 规范与实现之间的区别
我也看了不同的例子。
- documentation中的一个使用了可读的名称作为Specification-Title和Implementation-Title的包名称。规格版本使用点分离的版本号,而实现版本使用简单的版本号。
- Gradle教程似乎只是使用Implementation-Version和人类可读的字符串实现标题
- 在another question我发现了一个示例,其中包含几个Implementation-Versions。
这里的规范和实现元数据究竟有什么区别?应该如何使用这些不同的属性(特别是版本号)?规范和实施的供应商有何不同?
它甚至发挥我放在那里的作用吗?
另请参阅https://docs.oracle.com/javase/8/docs/technotes/guides/extensions/versioning.html – SWdV