WEB-INF / classes /与WEB-INF / lib / *jar在类路径优先级?
当处理从Web应用程序的Webappx类加载器加载类的请求时,该类加载器将首先在本地存储库中查找,而不是在查找之前委派。也有例外。属于JRE基类的类不能被覆盖。对于某些类(例如J2SE1.4+中的XML解析器组件),可以使用J2SE 1.4认可的功能(请参见上面的通用类加载器定义)。最后,任何包含servletAPI类的JAR都将被类加载器忽略。Tomcat 5中的所有其他类装入器都遵循通常的委托模式。
因此,从Web应用程序的角度来看,类或资源的加载按以下顺序查找以下存储库:
Bootstrap classes of your JVMSystem class loader classes (described above)/WEB-INF/classes of your web application/WEB-INF/lib/*.jar of your web application$CATALINA_HOME/common/classes$CATALINA_HOME/common/endorsed/*.jar$CATALINA_HOME/common/i18n/*.jar$CATALINA_HOME/common/lib/*.jar$CATALINA_BASE/shared/classes$CATALINA_BASE/shared/lib/*.jar
因此,在WEB-INF / lib之前先搜索WEB-INF / classs
参考:http ://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html
解决方法为tomcat Webapp打包的战争包含WEB-INF / classes和WEB-INF / lib / *。jar
在CLASSPATH中哪个优先级更高?
我问的原因是我的应用程序使用A.jar,其中包含从AspectJ项目生成的方面;和B.jar,它们将与A.jar的各个方面交织在一起。编译项目myapp时,它将生成许多类,这些类将覆盖B.jar中的相同类,这些类将打包到WEB-INF / classes目录中。因此,如果tomcat首先加载WEB-INF / lib / *。jar,那么编织方面将不会生效
相关文章:
1. javascript - 初学angularJS+express,路由路径中/转换成%2F,导致路径失效,求原因?2. html - 急求,能否用flex或者高端点的CSS来布局这个图呢?不想用浮动或定位了3. PHP类中的$this4. boot2docker无法启动5. javascript - 关于jsp中嵌入js代码的问题6. javascript - 百度坐标,返回目标附近有哪些坐标7. html5 - 只用CSS如何实现input框的宽度随框里输入的内容长短自动适应?8. html5 - 在微信上扫二维码看到有趣的h5页面,怎样才可以看到它的代码呢?9. Python操作sqlserver是异步的吗?10. python3.x - python中的虚拟环境怎样设置一直处于激活状态

网公网安备