我一直试图在Liferay (6.2) portlet中包含洗牌。
pom.xml文件中:
org.webjars.bower shufflejs 4.0.0编译webapps/my-portlet/WEB-INF/lib/shufflejs-4.0.0.jar是存在的,并包含在其中的META-INF/resources/webjars/shufflejs/4.0.0/dist/shuffle.js。liferay-portlet.xml文件中包含了以下行:
/webjars/shufflejs/4.0.0/dist/shuffle.jshttp://localhost:20080/my-portlet/webjars/shufflejs/4.0.0/dist/shuffle.js?browserId=other&minifierType=js&languageId=en_US&b=6210&t=1465296591338的'404 Not‘错误外,我得到了所有信息。我遗漏了什么?
谢谢
发布于 2016-06-10 11:52:02
我找到了我烦恼的原因。我已经部署了portlet,并使用JRebel在Eclipse中运行了门户。当我在没有JRebel的情况下单独部署/运行portlet时,就会找到这个资源。此外,我还可以关闭门户,然后在Eclipse/JRebel中重新启动它--现在可以找到资源了。
我以前在使用Eclipse运行时也遇到过类似的问题(请参阅Liferay:当-LocalServiceUtil可用时执行一个动作)。总之,Eclipse/JRebel是很棒的,但有时在部署portlets时会出现一些奇怪的情况。
发布于 2016-06-07 16:53:22
假设您使用的是Servlet3.0容器,那么您的URL是错误的。你需要使用:
<header-portlet-javascript>
/webjars/shufflejs/4.0.0/dist/shuffle.js
</header-portlet-javascript>根据webjars文档
Servlet 3的指令 对于任何与Servlet 3兼容的容器,
WEB-INF/lib目录中的WEB-INF/lib将自动成为静态资源。这是因为META-INF/resources目录中WEB-INF/lib中的任何内容都会自动作为静态资源公开。
注意,这个文档将指示您应该使用webjars/shufflejs/4.0.0/dist/shuffle.js__,但是对Liferay <header-portlet-javascript>配置的一些尝试导致了前面的/的必要性,因为Liferay将将该URL连接到portlet名称的末尾,以形成完整的<header-portlet-javascript>资源URL。
https://stackoverflow.com/questions/37684273
复制相似问题