文档

Java™ 教程-Java Tutorials 中文版
将类添加到 JAR 文件的类路径中
Trail: Deployment
Lesson: Packaging Programs in JAR Files
Section: Working with Manifest Files: The Basics

将类添加到 JAR 文件的类路径中

你可能需要从 JAR 文件中引用其他 JAR 文件中的类。

例如,在典型情况下,applet 打包在 JAR 文件中,该文件的清单引用不同的 JAR 文件(或几个不同的 JAR 文件)作为该 applet 的实用程序。

你可以在 applet 或应用程序的清单文件中指定要包含在 Class-Path 头字段中的类。Class-Path 头采用以下形式:

Class-Path: jar1-name jar2-name directory-name/jar3-name

通过在清单中使用 Class-Path 头,可以避免在调用 Java 以运行应用程序时指定长 -classpath 标志。


注意: Class-Path 标头指向本地网络上的类或 JAR 文件,而不是 JAR 文件中的 JAR 文件或可通过 Internet 协议访问的类。要将 JAR 文件中的 JAR 文件中的类加载到类路径中,必须编写自定义代码来加载这些类。例如,如果 MyJar.jar 包含另一个名为 MyUtils.jar 的 JAR 文件,则无法在 MyJar.jar 的清单中使用 Class-Path 头,将 MyUtils.jar 中的类加载到类路径中。

一个例子

我们希望将 MyUtils.jar 中的类加载到类路径中,以便在 MyJar.jar 中使用。这两个 JAR 文件位于同一目录中。

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

Class-Path: MyUtils.jar

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

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

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

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

Manifest-Version: 1.0
Class-Path: MyUtils.jar
Created-By: 1.7.0_06 (Oracle Corporation)

现在,当你运行 MyJar.jar 时,MyUtils.jar 中的类将加载到类路径中。


Previous page: Setting an Application's Entry Point
Next page: Setting Package Version Information