设置 Java 构建路径

本节描述如何设置 Java 构建路径。构建路径是用于构建 Java 项目(IJavaProject)的类路径。 

类路径只是一组用于描述可用类型的类路径条目(IClassPathEntry)。类型能够以源或二进制格式出现,并且条目在路径中的次序定义了用于在构建期间解析类型的查找次序。

Java 构建路径反映在 Java 项目元素的结构中。可以查询项目的包段根目录(IPackageFragmentRoot)。每个类路径条目都映射至一个或多个包段根目录,每个包段根目录进一步包含一组包段。 

此处对构建路径的讨论不涉及 Java 运行时路径,Java 运行时路径可以独立于构建路径进行定义。(有关对运行时类路径的讨论,参见运行 Java 代码。)

更改构建路径

可以通过对相应项目的 Java 元素使用 setRawClasspath 来使用程序更改项目的构建路径。以下代码设置项目资源的类路径:

	IProject project = ... // get some project resource
	IJavaProject javaProject = JavaCore.create(project);
	IClasspathEntry[] newClasspath = ...;
	javaProject.setRawClasspath(newClasspath, someProgressMonitor);
	

(注意:术语“原始”类路径用来强调尚未解析任何用来描述条目位置的变量的事实。)

Java 构建路径保存在项目的文件结构中的名为“.classpath”的文件中。此文件可用来提供一种方法来通过某些源代码资源库与其它项目共享 Java 构建路径设置。需要特别指出的是,由于此文件可能会毁坏,所以不应该手工编辑它。

类路径条目

可以使用对 JavaCore 定义的工厂方法来定义类路径条目。类路径条目可以引用下列任何一项:

排除模式

可以对类路径源条目指定排除模式,排除模式防止源文件夹中的特定资源在类路径中可见。对模式的使用允许过滤掉资源树的指定部分。每个排除模式路径都是相对于类路径条目的,并且使用与 Ant 相似的模式机制。只要外部模式排除内部模式,排除模式就可以用来指定嵌套的源文件夹。  

关于排除模式的更多详细信息,参见 getExclusionPatterns()

Java 项目 API isOnClasspath 在确定类路径是否包含特定资源之前将检查排除模式。

类路径解析

因为类路径变量和容器允许定义动态绑定的类路径条目,所以类路径 API 对原始类路径和已解析的类路径加以区分。原始类路径是最初使用 setRawClasspath 对 Java 项目设置的类路径,并且可以通过向项目请求 getRawClasspath 来进一步查询它。可以使用 getResolvedClasspath 来查询已解析的类路径。此操作将触发对解析类路径所需的任何变量和容器的初始化。许多“Java 模型”操作都隐式地导致解析 Java 构建路径。例如,计算项目的包段根目录就需要解析构建路径。 

Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.