我很难让eclipse和这个外部jar很好的玩。如果我将它添加到构建路径中,它将引用其绝对路径并正常工作。如果我编辑.classpath文件以使用相对路径,它仍然可以正常工作。但是,如果我从头开始检查我的项目,它只能找到一个类。类型无法解析 - Eclipse中的相对路径与绝对路径
我所要做的就是更改.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:/工作/ thisWS/ThisProject/RES /例如,jung-algorithms-2.0.1.jar“错误消失。我点击撤消,直到文件恢复到初始状态并再次保存。没问题。
任何人都可以阐明这种行为吗?
通常情况下,您只需将Jars添加到工作区(也许在文件夹中)。如果你喜欢,你可以从工作区建立一个链接到Jar文件(虽然这不会帮助你控制源代码)。如果他们在工作区中,则可以轻松引用它们。如果他们共享,你可以让Jars进入他们自己的项目并从那里引用他们。其中任何一个都会避免这个“相对文件参考”问题。 – 2011-12-14 07:47:49