wro4j与橙色wro4j-taglib - 有时加载错误组?

时间:2013-09-24 20:25:22

标签: wro4j

我们正在使用带有橙色wr4j-taglib的wro4j,有时当我们将其加载相同的资源两次而不是两个不同的资源时,而不是在所有服务器上。以下是wro.xml中我们群组的摘要。我们正在使用构建时解决方案,因此在构建时生成属性文件和所有连接文件的哈希值。

<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>

在我们的jsps中,我们引用了两个组:

<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目录,并且在部署期间似乎已正确清除。关于发生了什么的任何想法?

1 个答案:

答案 0 :(得分:2)

看起来您的问题是您使用的名称。尝试重命名insertImage或insertImageCore,以便它们不以相同的字符串开头。 当taglib找不到映射文件时,它告诉它该组合的css名称是什么,它使用了回退机制。 taglib获取wro根目录中存在的所有文件(您必须已配置它才能构建正确的路径)并将其文件名与请求的组进行比较。这个comparision使用startsWith所以当它在查找insertImage时找到一个名为inserImageCore的文件时,它认为它找到了正确的文件。 这假定您没有映射文件或者没有加载它。