많은 종속성을 가진 JAR 파일로 응용 프로그램이 있습니다. 어떤 이유로 라이브러리 중 하나를 디 컴파일하고 Eclipse로 열어야합니다. 프로젝트의 주어진 인터페이스에 대해이를 구현하는 클래스를 찾는 방법이 있습니까? 아직 디 컴파일하지 않은 다른 라이브러리에서 인터페이스가 구현 된 경우 일 수 있습니다. 이런 종류의 수업에 이것을 할 수 있습니까?
답변:
인터페이스를 마우스 오른쪽 버튼으로 클릭하고 "Open type hierarchy"를 선택하십시오. 그런 다음 "하위 유형 계층 표시"를 클릭하십시오.
항목에서 "유형 계층 표시"를 수행 할 수 있습니다 (이 옵션을 선택하려면 마우스 오른쪽 버튼을 클릭하거나 F4항목이 강조 표시되면 키를 누릅니다 ) *.
그러나 이것은 참조 된 ( "종속") 해당 프로젝트의 항목 만 나열합니다. 다른 사람이 아닙니다.
따라서 jar를 디 컴파일했고 디 컴파일하지 않은 다른 jar가있는 경우 해당 jar의 구현 (인터페이스)이 나열되지 않습니다.
또한 jar를 프로젝트로 디 컴파일했으며 디 컴파일 된 프로젝트가 아니라 jar를 참조하는 다른 프로젝트가 있다고 가정 해 보겠습니다. 그 안에있는 구현도 나열되지 않습니다.
따라서 모든 jar를 디 컴파일하고 프로젝트로 추가 (및 "Java Build Path"를 통해 참조 추가)하여 선택한 jar의 모든 구현이 나열되는지 확인해야합니다.
* Quick type Hierarchy, ctrl + T 는 툴팁 / 자동 완성 패널에서 유사한 구조를 보여줍니다. 그러나 완전한 유형 계층 구조는 수행하려는 분석 유형에 더 유용합니다.
Java Search에는 라디오 버튼 "Implementors"가 있습니다.
또는 마우스 오른쪽 버튼을 클릭하고 Quick Type Hierarchy
인터페이스를 확장하고 클래스를 구현하는 풀다운 메뉴를 선택 합니다.
Ctrl + H (검색 옵션) Java 검색 퍼스펙티브를 열고 인터페이스 이름을 입력하고 구현 자 라디오 버튼을 클릭하면 특정 인터페이스를 구현하는 클래스를 찾을 수 있습니다. 위의 stackexchanger의 답변과 동일
클래스 이름을 선택한 다음 Eclipse (Windows 환경)에서 'F4'를 선택합니다.