gpt4 book ai didi

java - Play Framework 2 中的系统类加载器

转载 作者:行者123 更新时间:2023-12-03 08:31:07 24 4
gpt4 key购买 nike

我正在使用 Play 2.2.2,并且我有一个外部 jar 试图从同一个 jar 的根加载 XML 资源。它使用 System.class.getClassLoader().getResource("/Blabla.xml") 执行此操作。这失败了,因为显然 Play 有一个奇怪的类加载器层次结构:ReloadableClassLoader 和几个父级。此层次结构不包括系统类加载器,也不包括扩展和引导类加载器。

这怎么可能?

我发现使用 ClassLoader.getSystemClassLoader() 会返回类似于标准类加载层次结构的类加载器层次结构。但我不想碰上面提到的外部 jar,并使 System.class.getClassLoader().getResource("/Blabla.xml") 工作。

如何让 System.class.getClassLoader().getResource("/Blabla.xml") 返回标准系统类加载器?

最佳答案

由于开发模式下的编译重载机制,Play 的类加载器设置相当复杂。与其尝试使用普通的 System.class.getClassLoader(),不如使用 built-in API methods获取资源或类加载器。

关于java - Play Framework 2 中的系统类加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com