繼續發佈此處的問題:Can you find all classes in a package using reflection?我開始使用反射庫來查找給定類型的子類的所有類。源代碼看起來像這樣,從一個問題的鏈接SO問題:Java的思考庫:查找包中的所有類
Reflections ref = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner())
.setUrls(ClasspathHelper.forPackage("org.somepackage"))
.filterInputsBy(new FilterBuilder().include(FilterBuilder.prefix("org.somepackage"))));
ref.getSubtypesOf(Object.class);
然而,東北角使用此代碼一段時間後,我才發現,原來它只會發現,子類中的另一類型類這個包。它不會找到從其他用戶定義的軟件包中派生出的從外部定義的類的子類的類。
我不知道如何解決這個使用反射庫。我希望所有將它們的包聲明爲'org.somepackage'的類,而不管它們的超類是什麼。任何幫助?
這看起來很有希望。我不需要執行很多這樣的調用,但是它們完全詳盡至關重要。謝謝你,我會研究這個。 – mtrc
編輯 - 是否在任何地方列出Rebound的依賴關係,例如log4j的? – mtrc
對,得到這個工作 - 完全按照需要工作。感謝你這樣做,你真的保存了一天。我現在可以回家了! – mtrc