Search code examples
liferayosgiosgi-bundleliferay-7liferay-dxp

Get error during deploy in liferay 7


I have added external dependency in gradle and incude in bnd.bnd file, When I deploy the bundle getting below error

07:28:41,922 WARN  [fileinstall-/home/bhagwan/televisory-benchmark-revamp/liferay-ce-portal-7.0-ga4/osgi/modules][org_apache_felix_fileinstall:103] Error while starting bundle: file:/home/bhagwan/televisory-benchmark-revamp/liferay-ce-portal-7.0-ga4/osgi/modules/com.compass.api.jar 
org.osgi.framework.BundleException: Could not resolve module: com.compass.api [533]_  Unresolved requirement: Import-Package: com.sun.javadoc_ [Sanitized]
    at org.eclipse.osgi.container.Module.start(Module.java:429)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1253)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1225)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:512)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312)
07:28:41,922 IN

Include lib in bnd as below :

-includeresource:\
    lib/poi-3.11.jar=poi-3.11.jar,\
    lib/poi-ooxml-3.11.jar=poi-ooxml-3.11.jar,\
    lib/commons-codec-1.9.jar=commons-codec-1.9.jar,\
    lib/poi-ooxml-schemas-3.11.jar=poi-ooxml-schemas-3.11.jar,\
    lib/xmlbeans-2.6.0.jar=xmlbeans-2.6.0.jar,\
    lib/stax-api-1.0.1.jar=stax-api-1.0.1.jar,\
    lib/junit-4.11.jar=junit-4.11.jar



Bundle-ClassPath:\
  .,\
   lib/poi-3.11.jar,\
   lib/poi-ooxml-3.11.jar,\
   lib/commons-codec-1.9.jar,\
   lib/poi-ooxml-schemas-3.11.jar,\
   lib/xmlbeans-2.6.0.jar,\
   lib/stax-api-1.0.1.jar,\
   lib/junit-4.11.jar

Solution

  • The added lib(s) must have a dependency on the package so Bnd adds an import for the package. You can try to make the dependency optional by adding the following to the bnd.bnd file:

    Import-Package: the.package.name;resolution:=optional, *

    Note, the final * is important so that Bnd will continue to generate the necessary package imports for other packages.