2011-12-14 2 views
0

이 외장형 병으로 멋지게 연극을하게되는데 정말 힘든 시간을 보내고 있습니다. 빌드 경로에 추가하면 절대 경로를 참조하여 정상적으로 작동합니다. 상대 경로를 사용하도록 .classpath 파일을 편집하면 여전히 잘 작동합니다. 그러나 처음부터 프로젝트를 체크 아웃하면 하나의 클래스 만 찾을 수 없습니다.유형을 확인할 수 없습니다 - 상대 경로 대 Eclipse의 절대 경로

내가해야 할 일은 .classpath 파일의 경로 중 하나를 변경하고 저장하면 프로젝트가 모든 것을 연결합니다. 그 후에, 나는 그것을 상대 경로로 다시 바꿀 수 있고 모든 것이 잘된다. 문제가되는 클래스가있는 jar 파일의 경로를 변경하지 않아도됩니다. Eclipse가 절대 경로를 통해 적어도 한 번 이상 참조 될 때까지 디렉토리를 확인하지 않습니다.

이 말이 맞는가요? 이클립스 나 프로젝트 빌드에서는별로 연습하지는 않지만,이 프로젝트를 누군가가 체크 아웃하고 추가 변경을하지 않고 빌드 할 수있는 시점까지이 프로젝트를 얻고 싶습니다.

<?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> 

I 나타나는 오류는 다음과 같습니다 : 여기

는 .classpath 파일의

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

내가 경로 중 하나를 변경할 경우에 "C :/일/thisWS/ThisProject/고해상도/jung-algorithms-2.0.1.jar "와 같이 오류가 사라집니다. 파일이 원래 상태로 돌아올 때까지 실행 취소를 클릭하고 다시 저장합니다. 아무 문제 없습니다.

누구든지이 동작에 관해 밝힐 수 있습니까?

+0

일반적으로 Jars를 작업 영역 (폴더에있을 수도 있음)에 추가하면됩니다. 원하는 경우 작업 영역에서 Jar 파일로 연결할 수 있습니다 (소스 제어에 도움이되지는 않지만). 그들이 작업 공간에 있다면 쉽게 참조 할 수 있습니다. 공유 된 경우에는 Jars를 자체 프로젝트에두고 거기에서 참조 할 수 있습니다. 이들 중 어떤 것도이 "상대 파일 참조"문제를 피할 것입니다. –

답변

0

이클립스를 최신 버전으로 업데이트했고이 문제는 끝났습니다. 뭔가 다른 것이 포함되어 있는지 확신 할 수 없지만 더 이상 재생산 할 수 없으므로 답을 표시하고 있습니다.

0

직접 답변이 아니라 오히려 제안 : 대부분의 병이 메이븐 저장소에 있지는 않지만 대부분은 메이븐을 사용하여 프로젝트를 빌드하고 POM의 dependency mechanism이 모든 노력을 기울여야하는 이유는 무엇입니까? 너를 위해서? Eclipse는 멋진 Maven 통합을 가지고 있습니다. m2eclipse plugin