将我的liferay portlet与jdbc驱动程序连接

时间:2019-06-27 13:35:09

标签: java jdbc liferay osgi liferay-7

我想将我的portlet连接到postgresql。但是我的portlet没有看到jdbc。在我的portlet软件包中,我有两个类。 Connection.java和TestDBPortlet.java。 Connection.java成功连接到postgresql,但是TestDBPortlet.java没有看到jdbc。这是正常的情况,因为他们都在同一个程序包中,并且必须具有相同的类吗?我在tomcat / libs,tomcat / lib / ext和tomcat / webapps / root / web-inf / libs中复制了jbdc.jar,但没有任何变化。请帮帮我!

1 个答案:

答案 0 :(得分:1)

您提到的目录不会使您的驱动程序对您的模块可见。

tomcat/libs, 
tomcat/lib/ext
tomcat/webapps/root/web-inf/libs

这些家伙不会为您的portlet提供类,因为它在OSGi级别上提供了自己的类加载器。您可以将jar文件嵌入模块的jar中,也可以使用驱动程序jar来导出OSGi运行时所需的软件包。

要嵌入jar,您可以使用模块的bnd文件,例如:

-includeresource: lib/javax.json.jar=javax.json-1.0.jar

Bundle-ClassPath: ., lib/javax.json.jar

但是在这种情况下,您将需要创建一个目录并将lib放在其中。