Eclipse에서 소스 Attach가 안되네요.
특정 라이브러리를 사용하면서 소스가 필요해서 소스를 attach했습니다.
그런데 계속 Source not found라네요.
원인을 찾기위해 몇 가지 실험을 거친 결과..
환경: Eclipse Luna, JDK 1.7
파일: library.jar, source.jar
1. 개발 환경에 문제가 있을까 싶어 다른 라이브러리 소스(JDK 소스)를 attach해보았는데 잘 됬습니다. (개발 환경에는 문제 없음)
2. Eclipse가 라이브러리에 attach된 소스를 찾을 때, 컴파일 오류를 확인하고 거르는지 실험해보았습니다.
컴파일 오류가 날 만한 소스(private void int a;)를 작성하고 다시 넣어봤지만 역시 안됩니다.
희망을 품고 다른 라이브러리 소스(JDK...)에 컴파일 오류가 날 만한 소스를 넣고 해보았지만 잘 됩니다.. (소스를 찾을 때 컴파일 오류를 검사하지않음)
3. 라이브러리 파일이나 소스파일의 압축방식에 문제가 없을까 싶어 압축을 풀고 다시 압축해보았지만 역시 실패.
JDK라이브러리를 똑같이 시도해보았지만 JDK는 성공.. (jar 파일 압축 방식에 문제 없음)
4. class파일이 이상한가 싶어 무작위로 클래스 파일 하나를 뽑고, 소스도 하나 뽑고 둘 다 압축해서 넣어보았으나 실패. (class파일 자체에 문제가 있을 수 있다.)
5. 디컴파일된 소스에 문제가 있을거 같아 다른 라이브러리도 디컴파일해서 넣어보았지만 성공. (디컴파일된 소스로도 가능)
제가 생각하기에는 class파일에 문제가 있는 것 같습니다. 라이브러리가 retroguard를 통해서 obfuscate된 상태입니다. 그게 문제가 될 수도 있는지;
여러분들 생각은 어떠신지요..
댓글 달기