Eclipse无法在构建路径中找到现有项目

时间:2012-08-31 09:18:02

标签: java eclipse build path

这可能是Eclipse及其构建路径处理的特性之一,尽管到目前为止已经测试了各种变通方法,但这些特性无法修复。

该问题涉及多个项目的工作区,每个项目都编译成自己的JAR。

通过将相关的相关内容添加到构建路径(不使用Maven或其他外部工具或插件)来解决项目之间的依赖关系,通过

Project -> Properties -> Java Build Path -> Projects

在所有这些项目中,一对(例如,com.example.p1com.example.p2)拒绝识别第三个(和简单的)(例如,com.example.p3),而所有其他项目都做。因此,虽然P3被添加到构建路径中,但是P3中的所有相关类都被正确导入,并且每个这样的类的源代码都可以通过点击F3来访问,Eclipse一直在抱怨

The import com.example.p3 cannot be resolved

SomeClass cannot be resolved to a type

其中com.example.p3.SomeClass是P3类之一。

如果不是P3项目而是将其编译的JAR放在构建路径中,问题就会消失。但是,P3中的代码经常更改,并且继续编译和刷新工作空间是浪费时间,以便获取更改,更不用说这不应该在IDE中发生(并且它不适用于其他项目使用P3,在同一个Eclipse工作区中。)

我试过了:

  • 删除并再次添加P1,P2,P3

  • 清理和重新编译所有内容

  • 检查是否有任何其他项目加载P3 JAR

  • 将P3置于Eclipse构建路径“订单和导出”列表的顶部

  • 使用Eclipse的“修复项目设置”建议(将鼠标悬停在红色下划线错误编译行上时可用)。实际上,此选项可以向构建路径添加P3或其JAR,但如果添加了P3,则会再次出现问题。

使用P3源(不是JAR)时P1和P2中的.classpath文件与所有其他项目相同,看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="classes" path="src"/>
    <classpathentry kind="var" path="JRE_LIB" sourcepath="JRE_SRC"/>
    <classpathentry kind="lib" path="<JAR_path/JAR_file>"/> 
    ... // Multiple other JAR files
    <classpathentry combineaccessrules="false" kind="src" path="/p3/">
    <classpathentry kind="output" path="bin"/>
</classpath>

.project文件对于工作区中的所有项目也是相同的。

有什么想法吗?

0 个答案:

没有答案