Glassfish V3上的Vaadin 7 Portlet错误

Glassfish V3上的Vaadin 7 Portlet错误,glassfish,liferay,vaadin,portlet,Glassfish,Liferay,Vaadin,Portlet,我正在创建一个Vaadin(版本7)portlet,我的开发环境是eclipse4.3.1+tomcat-7.0.27+Liferay-portal-6.1.1-ce-ga2,我正在检查tomcat上的内容,portlet在那里运行良好。 现在,我的部署环境是Glassfish-3.1.2+Liferay-portal-6.1.1-ce-ga2,相同的portlet和日志消息是:“sampleApp已成功部署”,portlet错误是“未能加载引导javascript:../../VAADIN/v

我正在创建一个Vaadin(版本7)portlet,我的开发环境是eclipse4.3.1+tomcat-7.0.27+Liferay-portal-6.1.1-ce-ga2,我正在检查tomcat上的内容,portlet在那里运行良好。 现在,我的部署环境是Glassfish-3.1.2+Liferay-portal-6.1.1-ce-ga2,相同的portlet和日志消息是:“sampleApp已成功部署”,portlet错误是“未能加载引导javascript:../../VAADIN/vaadinBootstrap.js”

请帮我解决这个问题。

来自瓦丁书:

Liferay 6.1[…]与较旧的Vaadin 6版本捆绑在一起。如果您想使用Vaadin 7,您需要删除捆绑版本,并按照本章所述手动安装较新版本

在这些说明中,我们假设您使用与ApacheTomcat捆绑的Liferay,尽管您也可以使用几乎任何其他应用程序服务器与Liferay

12.5.1删除捆绑安装

在安装新的Vaadin版本之前,您需要删除与Liferay捆绑的版本。您需要从门户的库目录和根上下文下的Vaadin目录中删除Vaadin库JAR。例如,对于Tomcat,它们通常位于以下位置:

tomcat-x.x.x/webapps/ROOT/html/VAADIN

tomcat-x.x.x/webapps/ROOT/WEB-INF/lib/vaadin.jar

12.5.2安装Vaadin

从Vaadin下载页面获取Vaadin安装包 从安装包中取出以下Vaadin罐:

vaadin-server.jar, vaadin-shared.jar

以及lib文件夹中的vaadin-shared-deps.jar和jsoup.jar依赖项

按照上面列出的方式重命名JAR文件,不带版本号 将库放在tomcat-x.x.x/webapps/ROOT/WEB-INF/lib中/

从VAADIN-server.jar、VAADIN-themes.jar和VAADIN-client-compiled.jar中提取VAADIN文件夹,并将其内容复制到tomcat-x.x.x/webapps/ROOT/html/VAADIN

$cd tomcat-x.x.x/webapps/ROOT/html

$unzip路径到/vaadin-server-7.1.0.jar'vaadin/*'

$unzip路径到/vaadin-themes-7.1.0.jar'vaadin/*'

$unzip路径到/vaadin-client-compiled-7.1.0.jar'vaadin/*'

如前所述,您需要在Liferay的portal-ext.properties配置文件中定义小部件集、主题和JAR。该文件通常应放在Liferay安装目录中。有关配置文件的详细信息,请参阅Liferay文档

下面是portal-ext.properties文件的示例:

#VAADIN目录所在的路径。
#(/html是默认值,因此不需要它。)
#vaadin.resources.path=/html

#门户范围的小部件集
vaadin.widgetset=com.vaadin.portal.gwt.PortalDefaultWidgetSet

#要使用的主题
vaadin.theme=liferay


事实上,这解决了问题。如果需要在同一个Liferay实例中运行这两个版本,您应该能够为这两个版本创建单独的VAADIN文件夹。更多信息和一些Scriptp来自动更改此问题-Portlet错误是“加载引导javascript失败:../../../VAADIN/vaadinBootstrap.js”太模糊了。查看开发环境中的堆栈跟踪。它可能有很多原因,但很多时候,它与缺少的或设置不好的VaadinServlet路径绑定在一起。检查portlet中注释中的设置是否正确,或者检查web.xml描述符。也就是说,对于Vaddin版本7.5.0(Eclipse 2.3.2的Vaadin插件),应该是这样的:VaadinServlet com.Vaadin.server.VaadinServlet