获得以下构建错误:"类型{---}无法解析.它是从所需的.class文件间接引用的"

Pol*_*878 6 java eclipse

所以,我在Eclipse(Java)中有以下设置:

  1. 我有一个项目(让我们称之为"项目1"),它提供了一个接口(包是私有的)
  2. 我有另一个项目("项目2"),它包含项目1中的包...此包中的类扩展了"项目1"中的包私有接口,并提供了一个很好的公共接口.
  3. 现在,我有"项目3",它引用了"项目2".然后,项目3使用项目2中提供的公共对象.

从项目3中的项目2调用构造函数后,我得到以下内容:

"类型{---}无法解析.它是从所需的.class文件间接引用的"

如果我从项目3添加对项目1的引用,一切都很好.有没有办法不用这种方式引用项目3?引用它真的没有意义.

我正在使用Eclipse(Helios)和最新的JDK等...

Boz*_*zho 7

这是一种"传递依赖".您需要在类路径中使用您使用的任何类所需的所有类.所以你需要在类路径中以某种方式获得项目1中的类 - .jar例如,你可以将它们打包为.或者您可以转到Build Path > Order and ExportProject 2,并将Project 1标记为已导出.

这里一个重要的事情是项目依赖只是一个开发"好" - 当你独立执行程序(或将它部署到容器)时,Eclipse项目依赖关系就消失了.因此,您必须确保满足您的依赖关系.