如何在多个portlet中共享jar?

时间:2012-09-10 10:08:08

标签: jar liferay portlet liferay-6

我在我的portlet中使用了几个jar,例如c3p0。现在我想避免将jar放在我的每个portlet lib文件夹中。如何在多个portlet中共享一个jar文件?我应该如何将它们集成到Eclipse IDE中?添加一个外部jar或将它们放在一个专用项目中并从那里包含它们?

2 个答案:

答案 0 :(得分:6)

另一种解决方案是将它们置于../liferay-portal-<version>/tomcat-<version>/webapps/ROOT/WEB-INF/lib

之下

如果你把它们放在这里你可以在portlet liferay-plugin-package.properties中添加JAR作为你的portlet的依赖项(如果你使用的是Liferay Developer Studio或Liferay IDE,那么这里有一个很好的GUI)。

然后在部署时,Liferay会将所需的JARS从ROOT/WEB-INF/lib复制到您的portlet WEB-INF/lib

我相信这是Liferay支持机制,并且不需要重新启动,因为JAR在部署时被复制到portlet类路径。

答案 1 :(得分:2)

我能想到的一种方法是将所有这些都放在全球化的道路上。

例如在Tomcat中,您可以将它们放在../liferay-portal-<version>/tomcat-<version>/lib/ext,然后在eclipse中配置服务器运行时库时,您将在构建路径中使用这些jar。

link也可以帮助您做出决定,但它代表*-service.jar,但我不确定它是否适用于任何一个portlet中的其他jar。