> 在 JAR 文件中密封包装
可以选择密封 JAR 文件中的程序包,这意味着必须将该程序包中定义的所有类归档在同一 JAR 文件中。例如,您可能需要密封软件包,以确保软件中各类之间的版本一致性。
您可以通过在清单中添加Sealed
Headers 来将文件包密封在 JAR 文件中,Headers 的格式如下:
Name: myCompany/myPackage/
Sealed: true
值myCompany/myPackage/
是要密封的包装的名称。
请注意,程序包名称必须以“ /”结尾。
An Example
我们要在 JAR 文件MyJar\.jar
中密封两个包firstPackage
和secondPackage
。
我们首先创建一个名为Manifest\.txt
的文本文件,其内容如下:
Name: myCompany/firstPackage/
Sealed: true
Name: myCompany/secondPackage/
Sealed: true
Warning:
文本文件必须以换行符或回车符结尾。如果最后一行未以新行或回车结尾,则将无法正确解析。
然后,通过 Importing 以下命令,创建一个名为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 定义的所有程序包,除非按每个程序包将其覆盖。
要密封 JAR 文件,请使用Sealed
清单 Headers,其值为 true。例如,
Sealed: true
指定除非在清单条目中具有Sealed
属性的特定软件包显式覆盖,否则将密封此归档文件中的所有软件包。