【发布时间】:2020-08-10 23:45:58
【问题描述】:
我的所有应用程序都使用了一个自定义库,该库通常位于 catalina.properties 的公共库集中。它假定类加载器是一个 URLClassLoader。
在 Java 8 下,即使是基本的 AppClassLoader 也可以转换为 URLClassLoader,Tomcat 8 使用的类加载器也可以(我怀疑它是 Tomcat 设计人员制作的自定义类加载器)。
那么,在 Java 9-11 下,在 Tomcat 9 中... 我可以期望 common 类加载器是 URLClassLoader 吗? 如果不是,它是什么?有没有办法让我设计一个可以插入的 URLClassloader 以使 common 使用它?
谢谢。
【问题讨论】:
-
Tomcat 是开源的,你可以修改代码并让它做你想做的任何事情(或者更确切地说,任何你能想到的代码)。 --- 至于常见的loader是不是一个URLClassLoader,你自己去看看吧?投射或使用
instanceof。问题被否决,因为它“没有显示任何研究工作”(引用的否决按钮工具提示)。 -
“编码天数”?只需要 分钟 创建一个空的 web 应用程序,它只是测试公共类加载器是否是 URLClassLoader。这就是所谓的研究,即搜索信息,在这种情况下是通过实验。在发现关键部分不起作用之前,我绝不会建议迁移整个 Web 应用程序。那将是可笑的!
-
仅供参考:如果您只是简单地进行了自己的研究,那么您已经对您的问题有了明确的答案。从你开始写这个问题到现在已经超过 2.5 个小时,你仍然没有答案。 --- How much research effort is expected of Stack Overflow users?
标签: java tomcat classloader