我的結構由一個使用Java util服務加載器加載插件的主應用程序組成。在加載服務提供者JAR之後,主應用程序的服務提供者嘗試加載他們自己的服務提供者。但是他們不能完成這個,因爲類加載器上下文是主應用程序的上下文。這意味着類加載器不知道嘗試加載自己的服務提供程序的服務提供程序所使用的接口,從而導致類未找到異常。任何人都可以建議我的服務提供商如何使用服務加載器加載自己的服務提供者?有沒有辦法在運行時動態更改類加載器上下文?我會稍後嘗試發佈一些代碼。我目前遠離我的筆記本電腦的代碼位於。謝謝。加載服務加載器的Java服務通過服務加載器加載他們自己的服務
1
A
回答
0
嗯,我得到了它使用重載方法,上述工作。唯一的區別是我用load(Class service,Plugin.class.getClassLoader());. Thread.currentThread()。getContextClassLoader()仍然返回主應用程序的類加載器
1
我假設你使用ServiceLoader.load(Class service)加載插件?如果是,它使用當前線程的類加載器(Thread.currentThread()。getContextClassLoader())。
因此嘗試使用這種方法,你可以注入不同的類加載器的重載版本:
ServiceLoader<S> load(Class<S> service, ClassLoader loader)
相關問題
- 1. 加載宕機服務器
- 2. 加載JavaScript服務器端
- 3. CSS未通過服務器加載
- 4. 通過服務自動加載數據
- 5. Java服務加載器說明
- 6. 加載第一頁加載服務 - AngularJS
- 7. 加載測試服務以加載CDN
- 8. 自動重新加載Koa服務器
- 9. Tomcat7服務器無法加載我的小服務器
- 10. 從服務器爲IoS加載自定義加載動畫
- 11. 加載主機服務器並重新啓動服務器
- 12. 無法加載服務器上的jekyll
- 13. 無法加載服務器中的Oracle.DataAccess.dll
- 14. 服務器錯誤加載的HttpModule
- 15. 加載web服務時System.IO.FileNotFoundException
- 16. AngularJS加載REST API服務
- 17. Syfmony - 啓動加載服務
- 18. 服務崩潰加載dll
- 19. 加載數據,WCF服務
- 20. 服務器上的ASP.net Web服務有時不會加載
- 21. Rails服務器無法加載
- 22. 如何從服務器加載mobiscroll值
- 23. 單不加載*在服務器PC
- 24. 在jboss服務器上加載DLL
- 25. 無法加載Tomcat服務器配置
- 26. listfield從服務器加載位圖
- 27. 從服務器加載文件到Dropzonejs
- 28. 加載XML文件到服務器
- 29. 如何從服務器加載MainActivity.java?
- 30. GWT - 加載之前訪問服務器
是的,我使用ServiceLoader。我嘗試過Thread.currentThread()。getContextClassLoader(),但它仍然返回了主應用程序的類加載器。 – MykelXIII
那麼我得到它使用上面提到的重載的方法工作。唯一的區別是我用load(Class service,Plugin.class.getClassLoader());. Thread.currentThread()。getContextClassLoader()仍然返回主應用程序的類加載器。 +1爲重載的方法提示儘管:) – MykelXIII