2012-12-23 10 views
5

La maggior parte degli IDE consente di eseguire facilmente questa operazione per una singola interfaccia, ma sto cercando classi che implementino due interfacce contemporaneamente. Esiste comunque la possibilità di farlo automaticamente (senza dover aprire manualmente ogni implementatore e controllare)?Come elencare tutte le classi sul percorso classe che implementa un determinato insieme di interfacce

Se nessun IDE supporta, Spring dispone di tale funzionalità. (So ​​che posso ottenere una lista di bean che implementano un'interfaccia specifica, ma non sono sicuro di poterlo fare per tutte le classi.)

risposta

0

Possibilmente org.reflections ha di cosa hai bisogno, a meno che non abbia ancora frainteso le tue esigenze.

1

da System.properties si otterrà il classpath.

Prova a TRY, per aprirlo come un lampo. (Inflater o Deflater stream) si avrà la classe

carico la classe con un classloader

uso instanceof xInterface & & istanza di yInterface

upvote se ha aiutato :)

+2

Classpath può contenere cartelle - in realtà, è meglio utilizzare un 'URLClassloader' personalizzato, aggiungendo ogni elemento direttamente dal classpath, piuttosto che passare attraverso il fastidio dell'utilizzo dell'API zip – MadProgrammer

+0

Ho codice che fa il percorso classe scansione, ma preferirei usare qualche altra soluzione interattiva. –

+0

@ billc.cn "Come elencare tutte le classi sul classpath" e "Ho codice che esegue la scansione del percorso classe, ma preferirei usare qualche altra soluzione interattiva" => buona fortuna! –

Problemi correlati