当前位置: 首页 > 知识库问答 >
问题:

带橙色wro4j的wro4j-TAGLIB-有时加载错误的组?

公羊光明
2023-03-14

我们将wro4j与橙色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>

在我们的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目录,在部署过程中它似乎被正确清除了。你对这是怎么回事有什么想法吗?

共有1个答案

蓬弘
2023-03-14

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

 类似资料:
  • wro4j 是一个 Web 资源优化工具。众所周知,到服务器加载一个大的文件比加载两个小的文件快,因为会增加 HTTP 交互的次数并且大部分浏览器在任何时候对于同一个服务器,只保持两个连接。开发 wro4j 项目的目的是减少加载一个页面的请求次数和传输的数据量。 点击下图查看大图。

  • 我正在为Eclipse安装wro4j插件。有人能告诉我如何安装这个或指向一个页面可以告诉我如何安装它。 谢谢你的帮助...

  • 我正在使用wro4j 1.7.3和less4j/lesscss-compiler。 在我的wro.xml中,我有如下内容: 在编译时,我会得到一个错误,因为wro4j将我的*.css-file也当作*.less-file来处理。 当使用lessCSS时,而不是less4j,错误原因更好地显示出来: 更改处理器顺序无济于事: 错误仍然存在。 是否存在这样的可能性,比如wro4j,它不应该将带有css

  • 我试图使用wro4j创建这个基础结构,用户可以通过它来决定绑定哪些js文件,只需编辑模板,而不需要接触任何Java代码。因此,像http://.../bundle/scrip1.js/scrip2.js/script3.js/script4.js这样的请求将返回一个按要求顺序包含所有四个脚本的包。 但是,必须事先以xml或自定义WroModelFactory实现指定具有资源的组,这仍然不能提供足够

  • 编辑原始问题以提供所有细节。 在web.xml中添加了以下内容: 在WEB-INF文件夹中创建了两个新文件wro.xml和wro.properties: wro.properties: wro.xml: 这里'resources'是里面的一个文件夹:src/main/webapp。 在/resources/skins/abc/文件夹中添加了一个文件testing.less: pom.xml文件包含

  • 问题内容: 在带有Python 2.7的Windows 7上可以正常工作: 库prov_means.DLL在我的工作目录中。它导出没有依赖关系的简单,独立的C函数provmeans()。 当我在Windows XP和Python 2.7上尝试相同的操作时,我得到了 我尝试将DLL复制到Windows \ System32,并且还输入完整路径名 具有和不具有“ .DLL”扩展名。没事。 问题答案: