为不同的liferay portlet开发一个通用的jar库

时间:2013-01-18 05:41:03

标签: jar liferay portlet

我需要一些对三个不同的Liferay portlet很常见的实用程序类,所以我将在一个应该为我的portlet共享的项目中开发它们。

我正在使用Eclipse和Liferay IDE插件,我的问题是我需要的那个项目是什么类型的项目?

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

1 个答案:

答案 0 :(得分:15)

有很多方法可以做到这一点:

  1. 创建一个简单的Java项目。将其打包为JAR文件。将JAR文件放在全局类路径中如果是tomcat,则全局类路径为../tomcat-7.0.27/lib/ext/
  2. 创建一个简单的Java项目。将其打包为JAR文件。将JAR文件放在每个portlet的类路径中。
  3. 使用service-builder创建Liferay插件-portlet,将实用程序类放在service包中,以便实用程序类进入[name-of-your-project]-service.jar。然后在每个portlet的portlet which would need these classes specify the property required-deployment-contexts = [name-of-your-project] in liferay-plugin-package.properties`中。
  4. 使用service-builder创建Liferay插件-portlet,将实用程序类放在service包中,以便实用程序类进入[name-of-your-project]-service.jar,然后将[name-of-your-project]-service.jar放入全局类路径并将其从您的portlet项目的WEB-INF/lib中删除,以便它不会发生冲突。
  5. 结论

    • 如果实用程序类中的代码不依赖于Liferay API,则使用 1st-method 。但是,每次实用程序类发生更改时,都需要重新启动服务器。此类实用程序类也可由Hooks使用,因为它位于全局类路径
    • 如果实用程序类中的代码不依赖于Liferay API,则使用第二方法。这不需要重启服务器。但是实用程序类的任何更改都需要您构建&部署使用此jar的所有plugin-portlet。
    • 第三种方法:这与第二种方法具有相同的限制或功能,只是您可以使用Liferay API&实用程序类中的自定义服务API。
    • 第四种方法:这与第一种方法具有相同的限制或功能,只是您可以使用Liferay API& amp;实用程序类中的自定义服务API。

    所以我在这里列出了专业版和专业版。有利于你自己决定。我很想知道在专家的生活中是否有更多的方法(而且更清洁)。