tomcat jar 包 与 项目jar包冲突问题解决
2017-06-14 14:26
337 查看
项目中有时候会遇到jar包冲突的问题, 报以下异常
Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/Jsp
是因为 jasper-compiler.jar jasper-runtime.jar 这几个jar包的问题,
因为tomcat6中没有这几个jar包, tomcat7却自带了这几个jar包, 当项目从tomcat6移到tomcat7时, 就会报jar包冲突的错误, 这时候我们经常的选择是删除项目中的jar包,
后来发现在tomcat的context.xml中配置一个参数 <Loader delegate="true" />, 就可以解决,
原因
True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。
Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/Jsp
是因为 jasper-compiler.jar jasper-runtime.jar 这几个jar包的问题,
因为tomcat6中没有这几个jar包, tomcat7却自带了这几个jar包, 当项目从tomcat6移到tomcat7时, 就会报jar包冲突的错误, 这时候我们经常的选择是删除项目中的jar包,
后来发现在tomcat的context.xml中配置一个参数 <Loader delegate="true" />, 就可以解决,
原因
True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。
相关文章推荐
- 解决项目中jsp-api,servlet-api和tomcat中jar包冲突问题
- vs2010编译项目,intrin.h和winNT.h冲突的问题解决
- 解决android-support-v4.jar引用外部项目冲突问题
- 解决maven生成的web项目下的servlet.jar与tomcat自带servlet.jar冲突的问题
- VS 下 解决SVN冲突--项目问题解决篇
- 解决项目添加bmob sdk 3.5.0在编译时出现依赖类库的冲突问题
- 解决项目打jar包后无法获取配置文件的路径问题
- 两个项目发布在tomcat下引起log4j冲突问题解决
- struts2开发javaWeb 项目时遇到jar包冲突问题的解决办法
- lua中使用packagepath解决多个项目的路径冲突问题
- web项目中遇到的Maven包依赖冲突问题解决
- 跨文化团队的项目经理,采用什么冲突管理手段最有助于解决问题
- android引入开源项目方法,和解决android-support-v4.jar冲突问题
- project解决项目冲突问题
- android引入开源项目方法,和解决android-support-v4.jar冲突问题
- weblogic中jar包冲突问题的解决办法
- 构建SSH时,Commons项目中两个包冲突问题的解决
- 解决WebLogic12C与项目中jar包冲突
- maven无法加载本地jar包以及maven项目打包后本地jar包没有打进项目的问题解决办法
- 解决WebLogic12C与项目中jar包冲突