无法解析类型 - Eclipse中的相​​对路径与绝对路径

时间:2011-12-14 05:38:19

标签: java eclipse classpath

我很难让eclipse与这个外部jar很好地玩耍。如果我将它添加到构建路径,它引用其绝对路径并正常工作。如果我编辑.classpath文件以使用相对路径,它仍然可以正常工作。但是,如果我从头开始检查我的项目,它就无法找到一个类。

我所要做的就是更改.classpath文件中的任何一个路径并保存它,项目将所有内容挂钩。之后,我可以将它改回相对路径,一切都很顺利。我甚至不需要更改违规类所在jar的路径。就像Eclipse在通过绝对路径至少引用一次之前拒绝确认目录。

这有什么意义吗?我对eclipse或项目构建并不是很熟练,但我真的很想让这个项目达到某个程度,有人可以检查它并构建它而无需进行进一步的更改。

这是.classpath文件:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="res/twitter4j-core-2.2.5-SNAPSHOT.jar"/>
    <classpathentry kind="lib" path="res/twitter4j-stream-2.2.5-SNAPSHOT.jar"/>
    <classpathentry kind="lib" path="res/jung-algorithms-2.0.1.jar"/>
    <classpathentry kind="lib" path="res/jung-graph-impl-2.0.1.jar"/>
    <classpathentry kind="lib" path="res/jung-visualization-2.0.1.jar"/>
    <classpathentry kind="lib" path="res/collections-generic-4.01.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

我收到的错误是:

The type edu.uci.ics.jung.graph.Graph cannot be resolved.  It is indirectly referenced from required .class files

例如,如果我将其中一条路径更改为“C:/work/thisWS/ThisProject/res/jung-algorithms-2.0.1.jar”,则错误消失。我点击撤消,直到文件恢复到初始状态并再次保存。没问题。

有人能说清楚这种行为吗?

2 个答案:

答案 0 :(得分:0)

不是直接的答案,而是一个建议:大多数(如果不是全部)你的罐子都在Maven存储库中,那你为什么不使用Maven来构建你的项目并让POM中的dependency mechanism做所有的你的辛勤工作? Eclipse通过m2eclipse plugin

进行了很好的Maven集成

答案 1 :(得分:0)

我将Eclipse更新到最新版本并且此问题已停止。我不确定是否涉及其他内容,但我无法再复制它,所以我正在回答这个问题。