Foren

Not Read class from project and external dependencies

thumbnail
SKTT1. Faker, geändert vor 7 Jahren.

Not Read class from project and external dependencies

New Member Beiträge: 21 Beitrittsdatum: 02.04.16 Neueste Beiträge
I defined gradle:
compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.2'

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver cannot be found by adddatabase_1.0.0
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:444)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:357)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:349)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.bkav.example.article.UpdateArticlePortlet.conectSQL(UpdateArticlePortlet.java:193)
at com.bkav.example.article.UpdateArticlePortlet.doView(UpdateArticlePortlet.java:86)
at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:302)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doDispatch(MVCPortlet.java:474)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:262)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.render(MVCPortlet.java:294)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103)
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.liferay.portal.osgi.web.servlet.context.helper.internal.ServletContextHelperRegistrationImpl$PortletServletWrapper.service(ServletContextHelperRegistrationImpl.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
thumbnail
David H Nebinger, geändert vor 7 Jahren.

RE: Not Read class from project and external dependencies

Liferay Legend Beiträge: 14919 Beitrittsdatum: 02.09.06 Neueste Beiträge
Just adding a compile dependency does not mean it will, in turn, be a runtime dependency.

But you're in luck, I have a blog for that: https://web.liferay.com/web/26526/blog/-/blogs/osgi-module-dependencies






Come meet me at the NAS!
thumbnail
SKTT1. Faker, geändert vor 7 Jahren.

RE: Not Read class from project and external dependencies

New Member Beiträge: 21 Beitrittsdatum: 02.04.16 Neueste Beiträge
I try it. but it 's not working.
.gradle: runtime group: 'mysql', name: 'mysql-connector-java', version: '6.0.2'

.bnd: Include-Resource: @mysql-connector-java-6.0.2.jar
Bundle-ClassPath:\
.,\
lib/mysql-connector-java.jar
-includeresource:\
lib/mysql-connector-java.jar=mysql-connector-java-6.0.2.jar
Some class i can use them, but class Driver I can not use it.
thumbnail
David H Nebinger, geändert vor 7 Jahren.

RE: Not Read class from project and external dependencies

Liferay Legend Beiträge: 14919 Beitrittsdatum: 02.09.06 Neueste Beiträge
That's a different issue. That's due to missing dependencies which I covered here: https://web.liferay.com/web/26526/blog/-/blogs/osgi-module-dependencies

Honestly I think you're better served putting the JDBC jars in the lib/ext folder so they are globally available, but it's up to you.






Come meet me at the NAS!