2008-10-10 5 views
5

Eclipse (Ganymede)에서 Apache Commons HttpClient를 사용하는 일부 코드를 디버깅 중이며 HttpClient 코드로 이동하려고합니다. 소스 코드를 다운로드하고 정상적인 방법으로 연결하려고했습니다 (메서드 이름을 CTRL- 클릭하고 소스 첨부 버튼 사용). 외부 파일과 외부 폴더로 모두 첨부하려고 시도했지만 성공하지 못했습니다. 나는 이전에 아무런 문제없이 소스를 첨부했으며 현재 Hibernate 소스 코드로 성공적으로 들어갈 수있다.Eclipse에서 소스 문제 첨부

직접 .classpath 파일을 직접 편집하여 소스 경로를 수동으로 추가하려고 시도했습니다. 아직도 운이 없다. 프로젝트를 새로 고치고, 깔끔한 빌드를하고, Eclipse를 닫고 다시 여는 것은 문제를 해결하지 못합니다. Eclipse는 오류 메시지를 표시하지 않는다. 그것은 단지 소스를 첨부하지 않습니다. 여기

는 .claspath의 항목은 다음과 같습니다 나는 D의 경로 변경 시도했습니다

<!-- Hibernate. Works --> 
<classpathentry kind="lib" path="/myEAP/EarContent/APP-INF/lib/hibernate.jar" sourcepath="D:/Data/Download/hibernate-3.2.2.ga/hibernate-3.2/src"/> 

<!-- Commons HttpClient. Will not attach --> 
<classpathentry kind="lib" path="/myEAP/EarContent/APP-INF/lib/commons-httpclient.jar" sourcepath="D:/Data/Download/commons-httpclient-3.1/src/java"/> 

: /Data/Download/commons-httpclient-3.1/src을하고 그 중 하나가 작동하지 않습니다.

디렉토리 구조는 다음과 같습니다

D 
    Data 
    Download 
     commons-httpclient-3.1 
     src 
      java 
      org 
       apache 
       commons 
        httpclient 
        AutoCloseInputStream.java 
        ... (and so forth) 
+0

마크 업 후 표시되도록 .classpath 항목을 다시 포맷 할 수 있습니까? –

답변

6

"D : /Data/Download/commons-httpclient-3.1/src/java"라는 직접 최상위 패키지가있는 디렉토리를 가리 키도록하십시오. 나를 위해 일한 것은 "org"폴더와 그 아래의 모든 것을 포함하는 새로운 src zip 파일을 만드는 것이 었습니다.

는 여기 도움이 경우에 (나를 위해 작동) 내 .classpath 항목,이다 :

<classpathentry kind="lib" path="/blib/java/commons-httpclient-3.1/commons-httpclient-3.1.jar" sourcepath="/blib/java/commons-httpclient-3.1/commons-httpclient-3.1-src.zip"/> 
2

봅니다 압축 해제 된 SRC 대신 src.zip를 부착?

+0

처음 시도했습니다. 감사. –

+0

이상한! 행운을 빕니다. – JeeBee

+0

감사합니다. 유로파에서 프로젝트를 열어 볼 수도 있습니다. –

2

실행 구성의 소스 경로에 추가하십시오.

1

소스를 연결하는 것이 클래스 경로에서 라이브러리를 단계적 실행하는 데 필요한 것은 아닙니다. 해당 라이브러리는 디버그 기호로 컴파일해야합니다. 대부분의 Java 라이브러리는 컴파일되고 배포되기 때문에 일반적으로 문제가되지 않지만 발견 한 것처럼 일부는 그렇지 않습니다.

소스가 연결되지 않아도 실제로 외부 라이브러리를 사용할 수 있다는 것은 흥미 롭습니다. 라인별로 소스를 볼 수는 없습니다 (모든 디버그 정보는 여전히 작동 함).

커먼즈 HttpClient (너무 어렵지는 않음)의 커스텀 버전을 컴파일함으로써이 문제를 "고칠 수도 있고, 전체"라이브러리에 들어가기 "아이디어를 건너 뛰기 만 할 수도 있습니다. 일반적인 개발 관행으로 타사 라이브러리를 사용하면 유용한 정보를 거의 얻을 수 없습니다. 지난 10 년 동안 한두 번이나 해봤지만 실제로는 딜레마 문제를 해결할 시간이 없었습니다.

4

그때 때때로, 당신은 당신이 정확 가정하려는 디렉토리를 가리 것을 발견하고, 한 그 여전히 첨부 된 소스에서 파일을 찾을 수 없다고 말합니다.

이번에는 마지막 경로 요소가 "src"라는 것을 알았습니다. 이 경로 요소를 제거하면 (실제로 "org"또는 "com"폴더가있는 실제 경로 위에 한 수준 위를 가리키고 있습니다) 마술처럼 작동하게 만듭니다.

이클립스는이 "src"경로 요소가있는 경우 해당 경로 요소를 암시하는 것으로 보입니다. 그러면 소스 경로에 Eclipse 경로가 포함됩니다. 아니면 그런 식으로.

1

소스 아카이브의 경로에있는 공간 (또는 현지화 된) simbols에 문제가 있다고 생각합니다. 간단한 경로로 다른 장소로 이동하십시오.

관련 문제