2013-09-24 33 views
1

我們使用wro4j和orange wr4j-taglib,有時當我們兩次部署其相同的資源而不是兩個不同的資源時,而不是在所有的服務器上。以下是我們在wro.xml中的小組的片段。我們正在使用構建時間解決方案,因此屬性文件和所有連接文件的哈希值將在構建時生成。wro4j與橙色wro4j-taglib - 有時會加載錯誤的組?

<group name="insertImageCore"> 
    <js>/static/js/imageinsert/js/imageInsert.js</js> 
    <js>/static/js/imageinsert/js/util/imageInsertUtils.js</js> 
    <js>/static/js/imageinsert/js/util/imageDAO.js</js> 
    <js>/static/js/imageinsert/js/util/serviceCalls.js</js> 
    <js>/static/js/imageinsert/js/util/search.js</js> 
    <js>/static/js/jquery.ux.thumbGrid.js</js> 
    <js>/static/js/jquery.ux.stateManager.js</js> 
    <css>/static/css/jquery.ux.thumbGrid.css</css> 
    <css>/static/css/jquery.ux.stateManager.css</css> 
</group> 

<group name="insertImage"> 
    <group-ref>insertImageCore</group-ref> 
    <js>/static/js/imageinsert/js/actionBar.js</js> 
    <js>/static/js/imageinsert/js/imageEdit.js</js> 
    <js>/static/js/imageinsert/js/imageEditPicnik.js</js> 
    <js>/static/js/imageinsert/js/imageEditPicmonkey.js</js> 
    <js>/static/js/imageinsert/js/imageEditAviary.js</js> 
    <js>/static/js/imageinsert/js/imageEditNone.js</js> 
    <js>/static/js/imageinsert/js/insertProps.js</js> 
    <js>/static/js/imageinsert/js/tabsManager.js</js> 
    <js>/static/js/imageinsert/js/uploadManager.js</js> 
    <js>/static/js/imageinsert/js/zoomView.js</js> 
    <js>/static/js/imageinsert/js/imageEdit.js</js> 
    <js>/static/js/imageinsert/js/tabs/baseTab.js</js> 
    <js>/static/js/imageinsert/js/tabs/imageUrl.js</js> 
    <js>/static/js/imageinsert/js/tabs/myLibrary.js</js> 
    <js>/static/js/imageinsert/js/tabs/picasaLibrary.js</js> 
    <js>/static/js/imageinsert/js/tabs/stockGallery.js</js> 
    <js>/static/js/imageinsert/js/tabs/templateImages.js</js> 
    <js>/static/js/moment/moment.js</js> 

    <css>/static/js/imageinsert/css/imageInsert.css</css> 
</group> 

在我們的JSP中我們引用兩組爲:

<wro:style groupNames='insertImage' exploded="${_explodeScripts}" /> 
<wro:style groupNames='insertImageCore' exploded="${_explodeScripts}" /> 

它最終被包含在JSP爲:

<link rel='stylesheet' href='/wro/insertImageCore-46098451.css' /> 
<link rel='stylesheet' href='/wro/insertImageCore-46098451.css' /> 

我們已經檢查了我們的JBoss/tmp目錄在壞的機器上,並且它在部署期間似乎被正確清除。關於發生了什麼的任何想法?

回答

2

它看起來像你的問題是你使用的名稱。嘗試重命名insertImage或insertImageCore,以使它們不以相同的字符串開頭。 當taglib無法找到映射文件,該文件告訴它該組合css名稱爲該組時,它使用回退機制。 taglib獲取根目錄中存在的所有文件(必須已經配置它可以構建正確的路徑),並將它們的文件名與請求的組進行比較。這comparision使用startsWith,因此當它在查找insertImage時發現名爲inserImageCore的文件時,它認爲它找到了正確的文件。 這假設你沒有映射文件或者沒有被加載。