5

我正在尝试将两个文件夹添加到我的 Eclipse 项目的类路径中,假设文件夹 A 和文件夹 B。B 在 A 内。每当我将 A 添加到类路径时

<classpathentry kind="lib" path="/A"/>

它工作得很好,但我也需要能够访问 B 中的文件。每当我尝试添加

<classpathentry kind="lib" path="/A/B"/>

到类路径,它说

不能在库 A 中嵌套“A/B”

在编辑类路径时,我是新手,所以我想知道,是否有办法在 eclipse 类路径中添加一个文件夹,该文件夹嵌套在另一个也在 eclipse 类路径中的文件夹中?

4

2 回答 2

9

我认为您不能(或不应该)允许这样做,而且这不是真正的 Eclipse 问题 AFAIK

任何单独的类路径都是 JVM 开始使用标准包表示法查找类的根

因此,假设您的程序在默认包中有一个类 X,在 b 包中有一个 bX 类。如果默认包根是 /a,那么你的包 b 将在 /a/b

如果你有一个指向 /a 的类路径根和一个指向 /a/b 的类路径根,现在你请求类 X,那么可以将你的请求解释为默认包中的 X(因为 A 中有一个根) ,但也作为默认包中的类X相对于路径/a/b,但那是类bX

所以为了防止这些事情发生,你不能有嵌套的类路径根。

于 2008-12-05T18:54:50.337 回答
2

尝试这样做,在 eclipse Indigo 上为我工作。

<classpathentry kind="lib" path="/A" excluding="B/"/>
于 2011-12-06T10:12:02.197 回答