要部署Vaadin OSGi portlet到Liferay 7.3,您需要安装以下捆绑包:
Vaadin OSGi bundle:这是Vaadin框架的OSGi捆绑包。您可以从Vaadin官方网站下载最新版本的Vaadin OSGi bundle。
Liferay OSGi dependencies:这是Liferay框架的OSGi依赖项捆绑包。您可以从Liferay官方网站下载最新版本的Liferay OSGi dependencies。
下面是一个示例解决方案,演示如何在Liferay 7.3中部署Vaadin OSGi portlet:
下载Vaadin OSGi bundle和Liferay OSGi dependencies。
创建一个新的Liferay模块项目。您可以使用Liferay提供的模块创建工具(例如Liferay Workspace)。
将Vaadin OSGi bundle和Liferay OSGi dependencies复制到您的Liferay模块项目的“libs”文件夹中。
在模块项目的“build.gradle”文件中,添加以下依赖项:
dependencies {
compileOnly group: "com.vaadin", name: "vaadin-osgi", version: "X.X.X"
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.osgi.api", version: "X.X.X"
}
请确保将“X.X.X”替换为实际的版本号,与您下载的Vaadin OSGi bundle和Liferay OSGi dependencies版本一致。
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.vaadin.osgi.servlet.VaadinOSGiServlet;
import javax.portlet.Portlet;
import org.osgi.service.component.annotations.Component;
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.sample",
"com.liferay.portlet.instanceable=true",
"javax.portlet.display-name=Vaadin OSGi Portlet",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class MyVaadinPortlet extends MVCPortlet {
@Override
public void init() {
super.init();
getPortletConfiguration().setServlet(
new VaadinOSGiServlet(this::getPortletContext));
}
}
请确保在类上添加正确的@Component注解和正确的属性。
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
构建和部署您的Liferay模块项目。您可以使用Liferay提供的构建工具(例如Gradle)进行构建。
在Liferay Portal中,将部署的Vaadin OSGi portlet添加到一个页面中,以查看它是否成功部署。
这就是将Vaadin OSGi portlet部署到Liferay 7.3所需的捆绑包和代码示例解决方案。请注意,这只是一个简单的示例,您可能需要根据您的具体需求进行更多的配置和定制化。