[英]Java package scanner - find all classes with a given interface
在C#中,您可以輕松地從給定程序集中讀取所有類。
我正在尋找Java中的等效功能。 我需要它來自動將EJB bean綁定到我的Guice模塊。
不幸的是,Java中似乎沒有現成的解決方案。
在我們的項目中,我們使用了一些博客建議的略微修改的方法。 此處描述的解決方案是掃描文件系統和JAR中的類。
如果只想選擇實現某些接口的類,則可以執行一些其他檢查,例如clazz.isAssignableFrom(MyInterface.class)
。
程序集的Java等效項是JAR文件。 可以使用java.util.jar
的類列出JAR文件的內容。
由於Java類的加載機制非常靈活,並且允許通過HTTP加載的類或動態生成的類之類的東西,因此不再需要一般的機制(例如將所有類都放入一個軟件包中),因此不可能知道所有可用的類。
我們在輕量級Java框架Snow中使用了它,並且效果很好。
專家就像
<dependency>
<groupId>com.metapossum</groupId>
<artifactId>metapossum-scanner</artifactId>
<version>1.0.1</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.