为不同的liferay Portlet开发通用jar库

为不同的liferay Portlet开发通用jar库,jar,liferay,portlet,Jar,Liferay,Portlet,我需要一些对三个不同的Liferay Portlet通用的实用程序类,因此我将在一个项目中开发它们,该项目应该为我的Portlet共享 我正在使用Eclipse和Liferay IDE插件,我的问题是我需要什么样的项目 我的意思是,它是一个简单的Java项目还是任何类型的Liferay项目?有几种方法可以做到这一点: 创建一个简单的Java项目。将其打包为JAR文件。如果是tomcat,将JAR文件放在全局类路径中,全局类路径将是。/tomcat-7.0.27/lib/ext/ 创建一个简单的J

我需要一些对三个不同的Liferay Portlet通用的实用程序类,因此我将在一个项目中开发它们,该项目应该为我的Portlet共享

我正在使用Eclipse和Liferay IDE插件,我的问题是我需要什么样的项目


我的意思是,它是一个简单的Java项目还是任何类型的Liferay项目?

有几种方法可以做到这一点:

  • 创建一个简单的Java项目。将其打包为JAR文件。如果是tomcat,将JAR文件放在全局类路径中,全局类路径将是
    。/tomcat-7.0.27/lib/ext/
  • 创建一个简单的Java项目。将其打包为JAR文件。将JAR文件放在每个portlet的类路径中
  • 使用service builder创建Liferay插件portlet,将实用程序类放入
    服务
    包中,以便实用程序类放入
    [项目名称]-service.jar
    中。然后在需要这些类的portlet
    中指定每个portlet的属性
    required deployment contexts=[name of your project]
  • 使用service builder创建Liferay插件portlet,将实用程序类放入
    服务
    包中,以便实用程序类放入
    [项目名称]-service.jar
    中,然后放入
    [项目名称]-在全局类路径中添加service.jar
    ,并将其从portlet项目的
    WEB-INF/lib
    中删除,以避免冲突
  • 结论
    • 如果实用程序类中的代码无论如何都不依赖于Liferay API,请使用1st方法。但这需要在每次实用程序类发生更改时重新启动服务器。实用程序类也可以被钩子使用,因为它位于全局类路径中
    • 如果实用程序类中的代码无论如何都不依赖于Liferay API,请使用第二种方法。这不需要重新启动服务器。但是,实用程序类中的任何更改都需要您构建和部署使用此jar的所有插件portlet
    • 第三种方法:这与第二种方法具有相同的限制或功能,只是您可以在实用程序类中使用Liferay API&您的自定义服务API
    • 4th方法:这与第一种方法具有相同的限制或功能,只是您可以在实用程序类中使用Liferay API&您的自定义服务API

    因此,我在这里列出了优点和缺点,供您自己决定。我很想知道专家们在liferay中是否有更多的方法(更干净)来做到这一点。

    是的,一个简单的Java项目就可以了,只要你把它打包成一个JAR。然后要放置罐子,请看以下问题:@oggie0563欢迎您。所以,你能接受这个答案,这样也可以帮助其他人。谢谢