- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 portlet 的新手,我正在尝试从我的 JSF 2.0 应用程序构建一个。我正在使用 liferay-portal-tomcat-6.1.0-ce-b4、JSF 2.1.3 和 PortletFaces 桥 2.0.1。
当我尝试将 portlet 安装到 liferay 中时,我总是遇到以下异常,我真的不知道为什么,因为根据文档,org.portletfaces.bridge.GenericFacesPortlet 应该实现 portlet 接口(interface)...
09:31:31,709 ERROR [HotDeployUtil:114] com.liferay.portal.kernel.deploy.hot.HotD eployException: Error registering portlets for MondisVisualizer-1.3-SNAPSHOT com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portl ets for MondisVisualizer-1.3-SNAPSHOT at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDe ployException(BaseHotDeployListener.java:46) at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(P ortletHotDeployListener.java:117) at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent (HotDeployUtil.java:111) at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(H otDeployUtil.java:188) at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(Ho tDeployUtil.java:40) at com.liferay.portal.kernel.servlet.PortletContextListener.doPortalInit (PortletContextListener.java:101) at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePor talLifecycle.java:42) at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLif ecycleUtil.java:61) at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLif ecycleUtil.java:53) at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLife cycle(BasePortalLifecycle.java:50) at com.liferay.portal.kernel.servlet.PortletContextListener.contextIniti alized(PortletContextListener.java:55) at org.apache.catalina.core.StandardContext.listenerStart(StandardContex t.java:4723) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java: 5226) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java: 5221) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec utor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.ClassCastException: org.portletfaces.bridge.GenericFacesPor tlet cannot be cast to javax.portlet.Portlet at com.liferay.portlet.PortletBagFactory.create(PortletBagFactory.java:1 31) at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(Po rtletHotDeployListener.java:603) at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy (PortletHotDeployListener.java:385) at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(P ortletHotDeployListener.java:114) ... 17 more
portlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<portlet-name>Visualizer</portlet-name>
<portlet-class>org.portletfaces.bridge.GenericFacesPortlet</portlet-class>
<init-param>
<name>javax.portlet.faces.defaultViewId.view</name>
<value>/index.xhtml</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<portlet-info>
<title>Mondis Visualizer</title>
</portlet-info>
</portlet>
</portlet-app>
liferay-portlet.xml:
<liferay-portlet-app>
<portlet>
<portlet-name>Visualizer</portlet-name>
<instanceable>true</instanceable>
<remoteable>false</remoteable>
<ajaxable>false</ajaxable>
<!-- <header-portlet-css>/resources/styles/bookCatalog.css</header-portlet-css>
<header-portlet-javascript>/resources/scripts/jsf.js</header-portlet-javascript> -->
</portlet>
</liferay-portlet-app>
liferay-display.xml:
<?xml version="1.0"?>
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 6.0.0//EN" "http://www.liferay.com/dtd/liferay-display_6_0_0.dtd">
<display>
<category name="category.mondis.visualizer">
<portlet id="Visualizer" />
</category>
</display>
提前致谢。
最佳答案
我发现了导致我的 portlet 失效的问题。
捆绑的 liferay 的 porlet.jar 可能以某种方式被黑客攻击/修改。解决方法是在 maven 中将 portlet.jar 依赖项设置为“已提供”- java 将在运行时将您的代码链接到 tomcat 中的(可能已修改的)库。它会起作用...
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
关于java - Liferay portlet 部署 - 类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502254/
假设我正在向 Liferay Portal 内的不同 portlet 添加数据。所有这些数据都保存在哪里? 最佳答案 Liferay 附带的大多数开箱即用的 portlet,如博客、论坛、Wiki、W
我需要的是: Administrator-level-1(可以编辑所有2级和3级的简单用户和管理员) Administrator-level-2(可以编辑所有普通用户和3级管理员) 管理员级别 3(甚
我在 liferay 工作。我们在我们的项目中使用一个模块来创建 liferay 主题。我使用命令 ant -Ddeploy.war=true 将它部署在服务器中。 war 文件在 liferay 部
我需要一个简单的 Liferay Web 表单扩展,以增强 Liferay 7 Web 表单中填充的数据的文件附件。 还需要将此文件作为附件随电子邮件发送给注册用户。 我知道如何在 liferay 6
When Local Live staging is enabled for a site, a clone of the site is created containing copies of a
我在 liferay 工作。我们在我们的项目中使用一个模块来创建 liferay 主题。我使用命令 ant -Ddeploy.war=true 将它部署在服务器中。 war 文件在 liferay 部
插件的代码如何访问在其自己的 liferay-plugin-package.properties 文件中设置的属性? 最佳答案 您可以使用 DeployManagerUtil 首先导入以下内容: im
Liferay 7 GA1 刚刚发布,但文档尚未完成。如何将默认的 liferay Logo 更改为公司 Logo ?当然,我希望每个网站都有一个自定义 Logo 。 最佳答案 进入控制面板->配置-
我一直在阅读有关从 liferay 6 迁移到 liferay 7 的 liferay 文档 ( https://dev.liferay.com/develop/tutorials/-/knowled
我想问一个关于是否应该迁移到 Liferay 6.2 的问题。 我和我的团队从 4 个月开始就在使用 Liferay 6.1(CE 版)开发的一个相当大的门户网站上工作,现在,由于项目发布日期仍然提前
我是 liferay 的新手,我几乎确信这非常简单:使用速度标记,我希望能够生成指向 Liferay 网站内页面的链接,并将它们嵌入到不同页面上的 portlet 中。 我对如何完成它有一个模糊的想法
我想知道为用户分配的站点角色名称列表。所以我尝试如下, List userRolesList = RoleLocalServiceUtil.getUserRoles(userid);
同样,我们是否有任何可能的解决方案来避免使用扩展方法/自定义实现/ Hook /插件/扩展将用户信息填充到 liferay 数据库中以进行身份验证? 问候维沙尔 G 最佳答案 无法避免在 Life
只是想知道任何一个与 liferay 集成的 wicket 。 在启用 ajax 的情况下对 wicket portlet 进行编码有多难? 有人在生产中使用 wicket portlet 吗? 最佳
我们在liferay 中有一个叫做嵌套portlet 的东西。我想通过代码动态添加这个 portlet。有谁知道用于添加嵌套 portlet 并在其中添加其他 portlet 的代码? 谢谢 !!!
如何以编程方式获取 Liferay 默认语言或区域设置? 最佳答案 检查 com.liferay.portal.kernel.util.LocaleUtil 类方法: LocaleUtil.getDe
是否可以在 service.xml 文件中不配置任何数据库表的情况下创建 liferay 服务构建器。 实际上这里的目的是使用 liferay 服务构建器创建一个服务层。并且在这个服务层没有直接与数据
众所周知,Liferay 具有创建用户的内置功能。但我希望有一个创建用户的工作流程,其中涉及批准过程。我的意思是,用户将由管理员创建,但它应该由另一个授权人批准,然后只有用户帐户将处于事件状态。 有什
我正在使用liferay6.1 和Java SDK 开发liferay portlet。 当用户登录并单击控制面板时,他们可以看到各种选项。有没有办法隐藏这个选项? 我还是新手,但我认为您可以将它从
我发现了如何使用journalContentUtil.getContent方法将Web Content嵌入Liferay 6.2主题中。我的问题是在Liferay 7中如何做同样的事情? 最佳答案 我
我是一名优秀的程序员,十分优秀!