这些Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本引入的改进,并可能使用已不再可用的技术。
请参阅Java语言变更以了解Java SE 9及后续版本中更新的语言特性的摘要。
请参阅JDK发行说明以获取有关所有JDK版本的新功能、增强功能和已删除或不推荐使用的选项的信息。
JAR文件中的包可以选择性地进行封装,这意味着该包中定义的所有类必须存档在同一个JAR文件中。例如,您可能希望封装一个包,以确保软件中的类的版本一致性。
通过在清单中添加Sealed头来在JAR文件中封装包,其一般形式为:
Name: myCompany/myPackage/ Sealed: true
myCompany/myPackage/是要封装的包的名称。
注意包名必须以“/”结尾。
我们希望在JAR文件MyJar.jar中封装两个包firstPackage和secondPackage。
我们首先创建一个名为Manifest.txt的文本文件,其内容如下:
Name: myCompany/firstPackage/ Sealed: true Name: myCompany/secondPackage/ Sealed: true
然后,我们通过输入以下命令创建名为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: myCompany/firstPackage/ Sealed: true Name: myCompany/secondPackage/ Sealed: true
如果要确保一个包中的所有类来自同一代码源,请使用JAR封装。封装的JAR指定该JAR定义的所有包都是封装的,除非在清单条目中针对特定包进行覆盖。
要封装JAR文件,请在清单头中使用Sealed,并将值设置为true。例如:
Sealed: true
这指定该存档中的所有包都是封装的,除非在清单条目中针对特定包进行明确覆盖。