使用classloader从tomcat lib实例化tomcat WEB-INF \ class \ myclass

时间:2016-01-25 10:06:19

标签: tomcat classloader web-inf contextclassloader

我正在尝试从tomcat lib中jar中的类加载tomcat中war文件中的类。我使用Class.forname(“myclass”)执行此操作,但应用程序正在抛出未找到类的异常。我想这是因为webapp将拥有自己的类加载器。有人可以建议如何解决这个问题

2 个答案:

答案 0 :(得分:0)

这是设计 - 你做不到。使用tomcat正在使用的分层类加载器,除非你构建自己的类加载机制,否则你没有机会从一个从全局类路径加载的类中加载一个包含webapp的类 - 我不建议这样做。

我想知道您尝试使用此解决方案试图解决的问题。我想不出任何潜在的问题,这将是正确的解决方案。

答案 1 :(得分:0)

您应该使用Thread#getContextClassLoader()来实例化可能是WAR分发的一部分的类。但请检查Tomcat是否使用Web应用程序类加载器初始化它。