我一直在使用下面的代碼來加載我知道要加載的包的類。加載預先未知包的Java類
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
Class<?> myClass = classLoader.loadClass(classNameToBeLoaded);
現在文件夾/包結構發生變化。
變量classNameToBeLoaded
可以來自我無法預先知道的任何包,因爲類名來自用戶提供的Excel工作表。
例如,classNameToBeLoaded的值可以是從Excel文件中讀取的「Utils」,「FileValidation」等。
這個類可以來自不同的包,比如「com.iyaffle.utils」或像「com.testing.validation」或類似的東西。
當我們不知道包名時,如何讓類自動加載?
其他類似的線程不具有具體的答案:
你不能。讓用戶提供包名稱。 – EJP
@EJP:\t 將只有幾個軟件包將被使用,它沒有名稱相同的方法。 – Purus
爲什麼不只是爲一個包調用'loadClass',並且如果調用失敗,則調用另一個包? – DodgyCodeException