如何将我的自定义类加载器设置为默认值?

时间:2010-09-27 07:03:17

标签: java tomcat classloader

我正在尝试使用自定义类加载器来练习自己,我还有一些问题。有没有办法表明JVM全局使用我的自定义类加载器?例如,我编写了在Tomcat 6下运行的小应用程序.servlet由容器管理,我应该在哪里设置我的类加载器?另外,webapp使用了一些第三方罐子,我可以控制这些罐子的类加载吗?

对于独立应用,上述答案是否会有所不同?

谢谢!

1 个答案:

答案 0 :(得分:13)

您可以将系统默认类加载器设置为JVM参数:

java -Djava.system.class.loader
    =com.test.YourCustomClassLoader com.test.YourMainClass

当Tomcat作为java应用程序启动时,您也可以在%TOMCAT_HOME%\bin\run.bat$TOMCAT_HOME/bin/run.sh可执行文件中设置此参数。

编辑完成: 如果将类加载器设置为de System类加载器,则它将用于加载Tomcat组件类,不同的库和您自己的类。 如果希望类加载器仅用于应用程序类(包括库等),则应为上下文配置Loader元素。 必须在Context元素内定义Loader元素,可以在context.xml文件中定义。 更多信息: