Java 我的portlet don';在我的portlet中添加postgres jdbc后,我不会启动

Java 我的portlet don';在我的portlet中添加postgres jdbc后,我不会启动,java,osgi,portlet,liferay-7,bnd,Java,Osgi,Portlet,Liferay 7,Bnd,我的OSGiportlet有问题。我通过bnd.bnd在我的portlet中添加了jdbc.jar 我就是这样做的: Bundle-Name: bd-portlet Bundle-SymbolicName: com.test Bundle-Version: 1.0.0 Export-Package: com.test.constants Bundle-ClassPath:\ .,\ lib/postgresql.jar -includeresource:\ lib/postgresq

我的OSGiportlet有问题。我通过
bnd.bnd
在我的portlet中添加了
jdbc.jar

我就是这样做的:

Bundle-Name: bd-portlet
Bundle-SymbolicName: com.test
Bundle-Version: 1.0.0
Export-Package: com.test.constants
Bundle-ClassPath:\
  .,\
  lib/postgresql.jar
-includeresource:\
  lib/postgresql.jar=postgresql-42.2.5.jar
我看到portlet和jdbc的jar出现在
lib
文件夹中。但是现在我的portlet没有启动。以下是屏幕输出:

org.osgi.framework.BundleException: Could not resolve module: com.test 2019-07-03 14:13:51.054 ERROR [Framework Event Dispatcher: Equinox Container: e04d1c6e-9a3c-4356-88d0-325b8207118b][com_test:97] FrameworkEvent ERROR 
org.osgi.framework.BundleException: Could not resolve module: com.test [1012]_  Unresolved requirement: Import-Package: com.sun.jna_ [Sanitized]
    at org.eclipse.osgi.container.Module.start(Module.java:444)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1682)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1662)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1624)
    at org.eclipse.osgi.container.SystemModule.startWorker(SystemModule.java:264)
    at org.eclipse.osgi.container.Module.doStart(Module.java:581)
    at org.eclipse.osgi.container.Module.start(Module.java:449)
    at org.eclipse.osgi.container.SystemModule.start(SystemModule.java:188)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:447)
    at org.eclipse.osgi.launch.Equinox.start(Equinox.java:115)
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl.startFramework(ModuleFrameworkImpl.java:403)
    at com.liferay.portal.module.framework.ModuleFrameworkUtilAdapter.startFramework(ModuleFrameworkUtilAdapter.java:100)
    at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:309)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4682)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5150)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:634)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
我将
com.sun.jna
添加到我的
build.gradle
和我的
bnd.bnd
文件中:

Bundle-Name: bd-portlet
Bundle-SymbolicName: com.test
Bundle-Version: 1.0.0
Export-Package: com.test.constants
Bundle-ClassPath:\
  .,\
  lib/postgresql.jar,\lib/jna.jar
-includeresource:\
  lib/postgresql.jar=postgresql-42.2.5.jar,\
  lib/jna.jar=jna-3.0.9.jar

,但一切都没有改变。我的portlet没有启动。请问有人有什么想法吗?

我解决了这个问题。当我们有:

org.osgi.framework.BundleException: Could not resolve module: com.test [1012]_  Unresolved requirement: Import-Package: xxxxxx [Sanitized]
只需添加:

Import-Package: \
!xxxxxx,\
*
在您的bnd.bnd文件中。就我而言,我将补充:

Import-Package: \
  !com.sun.*,\
  *

在我的bnd.bnd文件中。

请发布完整的构建文件以及如何执行它们。现在它还不能复制。好的@DmitriyPopov。谢谢你的评论。