WEB-INF / classes /與WEB-INF / lib / *jar在類路徑優(yōu)先級(jí)?
當(dāng)處理從Web應(yīng)用程序的Webappx類加載器加載類的請(qǐng)求時(shí),該類加載器將首先在本地存儲(chǔ)庫中查找,而不是在查找之前委派。也有例外。屬于JRE基類的類不能被覆蓋。對(duì)于某些類(例如J2SE1.4+中的XML解析器組件),可以使用J2SE 1.4認(rèn)可的功能(請(qǐng)參見上面的通用類加載器定義)。最后,任何包含servletAPI類的JAR都將被類加載器忽略。Tomcat 5中的所有其他類裝入器都遵循通常的委托模式。
因此,從Web應(yīng)用程序的角度來看,類或資源的加載按以下順序查找以下存儲(chǔ)庫:
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打包的戰(zhàn)爭(zhēng)包含WEB-INF / classes和WEB-INF / lib / *。jar
在CLASSPATH中哪個(gè)優(yōu)先級(jí)更高?
我問的原因是我的應(yīng)用程序使用A.jar,其中包含從AspectJ項(xiàng)目生成的方面;和B.jar,它們將與A.jar的各個(gè)方面交織在一起。編譯項(xiàng)目myapp時(shí),它將生成許多類,這些類將覆蓋B.jar中的相同類,這些類將打包到WEB-INF / classes目錄中。因此,如果tomcat首先加載WEB-INF / lib / *。jar,那么編織方面將不會(huì)生效
相關(guān)文章:
1. android - NavigationView 的側(cè)滑菜單中如何保存新增項(xiàng)(通過程序添加)2. tp5 不同控制器中的變量調(diào)用問題3. 微信小程序可以用gulp,webpack嗎?4. mysql服務(wù)無法啟動(dòng)1067錯(cuò)誤,誰知道正確的解決方法?5. ueditor上傳服務(wù)器提示后端配置項(xiàng)沒有正常加載,求助!?。。。?/a>6. python - 為什么正常輸出中文沒有亂碼,zip函數(shù)之后出現(xiàn)中文編程unicode編碼的問題,我是遍歷輸出的啊。7. 老師 我是一個(gè)沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下8. 這段代碼既不提示錯(cuò)誤也看不到結(jié)果,請(qǐng)老師明示錯(cuò)在哪里,謝謝!9. php7.3.4中怎么開啟pdo驅(qū)動(dòng)10. 提示語法錯(cuò)誤語法錯(cuò)誤: unexpected ’abstract’ (T_ABSTRACT)
