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