Javascript快速加载在WebLogic上的Liferay中不起作用

时间:2015-12-01 20:33:46

标签: liferay weblogic

我在WebLogic Server 10.3.6.0上部署了Liferay 6.2 GA4门户。如果启用了javascript.fast.load属性,则不会从 / combo 网址获取(下载)打包的javascript版本。在Web浏览器控制台中,将显示以下错误:

GET https://www.mywebsite.cz/liferay-portal/combo/?browserId=other&minifierType=&languageId=en_US&b=6203&t=1448975784000&/liferay-portal/html/js/aui/color-base/color-base-min.js&/liferay-portal/html/js/aui/event-touch/event-touch-min.js&/liferay-portal/html/js/liferay/dockbar.js 404 (Not Found)

Uncaught TypeError: Cannot read property 'init' of undefined

由于这个例子,dockbar不起作用。从源代码看, ComboServlet 无法获取/ combo url参数中的servlet资源。如果javascript.fast.load被禁用,则门户似乎有效。

weblogic.xml中:

<weblogic-web-app
    xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"
>
    <jsp-descriptor>
        <keepgenerated>true</keepgenerated>
        <page-check-seconds>60</page-check-seconds>
    </jsp-descriptor>
    <session-descriptor>
        <persistent-store-type>replicated_if_clustered</persistent-store-type>
    </session-descriptor>

    <container-descriptor>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
            <package-name>com.ctc.wstx.*</package-name>
            <package-name>org.antlr.*</package-name>
            <package-name>org.apache.commons.lang.*</package-name>
            <package-name>org.mozilla.*</package-name>
            <package-name>org.xmlpull.*</package-name>
        </prefer-application-packages>
        <optimistic-serialization>true</optimistic-serialization>
        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
    </container-descriptor>
    <context-root>/liferay-portal</context-root>

    <library-ref>
        <library-name>ext-portal-dependencies</library-name>
        <specification-version>1.0</specification-version>
        <implementation-version>1.0</implementation-version>
        <exact-match>false</exact-match>
    </library-ref>
</weblogic-web-app>

有人知道可能是什么问题吗?一些WebLogic或Liferay设置?感谢您的任何想法或帮助。

2 个答案:

答案 0 :(得分:1)

我很久以前在tomcat上遇到类似的问题,当临时文件路径出现问题时 - 例如它变得太长了。这可能发生在深层嵌套的文件系统中,或者当总路径长度有限时。

我所知道的路径长度限制因素之一是Linux上的加密主文件夹。此外,如果临时文件系统运行已满,则压缩文件将无法写入,因此无法提供给浏览器。

检查这些内容,然后报告回来。

答案 1 :(得分:0)

经过几天解决问题后,我发现这个问题的主要原因是:

由于客户不希望将门户依赖关系(portal-service.jar,portlet-api.jar,...)作为域库,因此我将其部署为 Java EE共享库。显然它的工作方式与我的预期不同。因此,在说服客户之后,我将liferay依赖项放到域lib文件夹中,突然一切都开始工作了。