文档

Java™ 教程-Java Tutorials 中文版
设置包版本信息
Trail: Deployment
Lesson: Packaging Programs in JAR Files
Section: Working with Manifest Files: The Basics

设置包版本信息

你可能需要在 JAR 文件的清单中包含软件包版本信息。你使用清单中的以下头提供此信息:

清单中的头
定义
Name 规范的名称。
Specification-Title 规范的标题。
Specification-Version 规范的版本。
Specification-Vendor 规范的供应商。
Implementation-Title 实现的标题。
Implementation-Version 实现的内部版本号。
Implementation-Vendor 实现的供应商。

可以为每个包分配一组这样的头。版本控制标题应直接显示在包的 Name 标题下。此示例显示所有版本控制头:

Name: java/util/
Specification-Title: Java Utility Classes
Specification-Version: 1.2
Specification-Vendor: Example Tech, Inc.
Implementation-Title: java.util
Implementation-Version: build57
Implementation-Vendor: Example Tech, Inc.

有关包版本头的更多信息,请参阅 Package Versioning specification

一个例子

我们希望在 MyJar.jar 的清单中包含上面示例中的头。

我们首先创建一个名为 Manifest.txt 的文本文件,其中包含以下内容:

Name: java/util/
Specification-Title: Java Utility Classes
Specification-Version: 1.2
Specification-Vendor: Example Tech, Inc.
Implementation-Title: java.util 
Implementation-Version: build57
Implementation-Vendor: Example Tech, Inc.

警告: 文本文件必须以新行或回车结束。如果不以新行或回车结束,则不会正确解析最后一行。

然后,我们通过输入以下命令创建名为 MyJar.jar 的 JAR 文件:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class

这将创建一个带有以下内容的清单的 JAR 文件:

Manifest-Version: 1.0
Created-By: 1.7.0_06 (Oracle Corporation)
Name: java/util/
Specification-Title: Java Utility Classes
Specification-Version: 1.2
Specification-Vendor: Example Tech, Inc.
Implementation-Title: java.util 
Implementation-Version: build57
Implementation-Vendor: Example Tech, Inc.

Previous page: Adding Classes to the JAR File's Classpath
Next page: Sealing Packages within a JAR File