我想測試當前類加載器或系統是否知道特定包。 Package.getPackage(String name)似乎返回null,因此我卡住了。 ClassLoader不包含任何方法,因此我卡住...Java:測試是否存在包(使用其名稱)...
我寧可不加載包中的類來測試它是否存在,當然是更好的方法。
任何指針,將不勝感激。
我想測試當前類加載器或系統是否知道特定包。 Package.getPackage(String name)似乎返回null,因此我卡住了。 ClassLoader不包含任何方法,因此我卡住...Java:測試是否存在包(使用其名稱)...
我寧可不加載包中的類來測試它是否存在,當然是更好的方法。
任何指針,將不勝感激。
Package.getPackage(String name)
是該工作的正確工具。請確保您已經
Package.getPackages()
來看看有什麼可用getClass().getPackage()
,然後Package.getPackage(String name)
的方法僅在當前類加載器中搜索包(或者,如果當前類加載器爲空,則爲系統類加載器)。如果在當前類加載器中沒有加載包中的類,那麼該包將不存在。
這似乎是忽略了一個線程上下文類加載器:( –
沒有簡單的方法可以獲取有關包是否存在的信息,除非已從該包中加載類。 Package.getPackage
只有在命名包中的類已加載時才起作用。
的選項有:
如果代碼還使用了URL類加載器,則第二個選項可能會失敗。
你好PL,thanx支持(: –