我有一個Java webapp(WAR),它有幾個依賴關係。其中兩個包含戰爭中暴露的資源(同名)。WAR中的資源加載順序
所以我的依賴關係樹看起來像
我的問題是,從core.jar添加依賴性custom.css使用,如果我訪問的index.html
是否有辦法強制使用custom.css?我不能修改core.jar添加
感謝, 邁克爾
環境:Maven的3,爪哇1.8,Tomcat的8
我有一個Java webapp(WAR),它有幾個依賴關係。其中兩個包含戰爭中暴露的資源(同名)。WAR中的資源加載順序
所以我的依賴關係樹看起來像
我的問題是,從core.jar添加依賴性custom.css使用,如果我訪問的index.html
是否有辦法強制使用custom.css?我不能修改core.jar添加
感謝, 邁克爾
環境:Maven的3,爪哇1.8,Tomcat的8
您可以提取並投入必要的資源投入到自身myWAR。
只要它被類加載器加載(這很可能在你的情況下),你被保證不能強制排序。
您也許能夠解開core.jar
依賴和排除custom.css
文件,例如在Building a WAR project with unzipped JAR dependency?
在這種情況下指定的,你會排除core.jar
依賴於maven-war-plugin
(見https://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html),並配置maven-dependency-plugin
解壓core.jar
到target/classes
,同時排除META-INF/resources/custom.css
。
有沒有保證,以JAR文件中WEB-INF/lib
相對順序,但它是保證WEB-INF/classes
將領先於所有在classpath中WEB-INF/lib/*.jar
文件。因此,如果您可以在最終的WAR文件中將custom.css
轉換爲WEB-INF/classes/META-INF/resources
,那麼它將優先於ClassLoader.getResource
中的lib JAR文件中的文件。