Соедините мой портлет liferay с драйвером jdbc - PullRequest
0 голосов
/ 27 июня 2019

Я хочу подключить свой портлет к postgresql.Но мой портлет не видит jdbc.В моем пакете портлета у меня есть два класса.Connection.java и TestDBPortlet.java.Connection.java успешно подключается к postgresql, но TestDBPortlet.java не видит jdbc.Это нормально, зная, что оба находятся в одном пакете, они должны иметь одинаковые классы?У меня есть копия jbdc.jar в tomcat / libs, tomcat / lib / ext и tomcat / webapps / root / web-inf / libs, но ничего не меняется.Помогите мне, пожалуйста!

1 Ответ

1 голос
/ 28 июня 2019

Упомянутые вами каталоги не сделают ваш драйвер видимым для вашего модуля.

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

Эти ребята не будут предоставлять классы для вашего портлета, так как он имеет собственный загрузчик классов на уровне OSGi. Вы можете либо внедрить файл jar в jar модуля, либо использовать jar драйвера, который экспортирует нужные вам пакеты во время выполнения OSGi.

Чтобы встроить банку, вы можете использовать bnd-файл вашего модуля, например:

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

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

Но в этом случае вам нужно будет создать каталог и поместить туда библиотеку.

...