Tenho um aplicativo como arquivo JAR com muitas dependências. Por algum motivo, preciso descompilar uma das bibliotecas e abri-la com o Eclipse. Para uma determinada interface no projeto, há uma maneira de encontrar a (s) classe (s) que a implementa? Pode ser que a interface tenha sido implementada em outra biblioteca que ainda não descompilei. É possível fazer isso para esse tipo de aula?
88
Tente Ctrl+ Tdepois de selecionar o nome da classe; deve funcionar na Perspectiva Java.
fonte
Você pode "Mostrar Hierarquia de Tipo" no item (Clique com o botão direito para escolher esta opção ou pressione F4 quando o item estiver destacado) *.
No entanto, isso listará apenas os itens nos projetos que são referidos ("dependentes"). Não em outros.
Portanto, se você descompilou um jar e há outro jar que não foi descompilado, as implementações (da interface) nesse jar não serão listadas.
Além disso, digamos que você tenha descompilado um jar como um projeto e haja outro projeto que se refere ao jar, e não ao projeto descompilado, implementações nesse também não serão listadas.
Portanto, você terá que descompilar todos os jars e adicioná-los como projetos (e adicionar referências por meio de "Java Build Path") para garantir que todas as implementações nos jars de sua escolha sejam listadas.
* Hierarquia de tipo rápido, ctrl + T mostrará uma estrutura semelhante em um painel do tipo dica de ferramenta / preenchimento automático. Mas a hierarquia de tipo completa é mais útil para o tipo de análise que você pretende fazer.
fonte
Existe um botão de rádio "Implementadores" na Pesquisa Java.
fonte
Ou clique com o botão direito e selecione
Quick Type Hierarchy
para um menu suspenso de interfaces de extensão e classes de implementação.fonte
Ctrl + H (opção de pesquisa) Abra a perspectiva de pesquisa Java e, insira o nome da interface, clique no botão de rádio Implementadores e você encontrará quais classes implementam uma interface específica. Igual à resposta do trocador de pilha acima
fonte
Selecione o nome da classe e, em seguida, 'F4' no Eclipse (ambiente Windows)
fonte