1

我们将 wro4j 与 Orange wr4j-taglib 一起使用,有时当我们部署它时,它会加载两次而不是两个不同的资源,但不是在所有服务器上。以下是我们在 中的小组的片段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 目录,在部署过程中它似乎被正确清除了。关于发生了什么的任何想法?

4

1 回答 1

2

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

于 2013-09-25T16:24:31.707 回答