I have three bundles, if I load one by one, everything is OK, but, if put into a plugin, it would crash while resolving.
the plugin-package.xml:
<?xml version="1.0" encoding="UTF-8"?>
<pluginPackage id="com.myplugin.esdk.storage.ngc" version="2.1.07" type="html" name="NGC Plugin" description="myplugin eSDK Storage Plugin" vendor="myplugin"> <dependencies> <!-- Minimum vSphere Client version compatible with this plugin --> <pluginPackage id="com.vmware.vsphere.client" version="5.5.0" /> </dependencies> <bundlesOrder> <!-- List the bundles from the /plugins directory in loading order: 3rd party libraries first, them java service bundles and finally UI bundles. Bundle Ids must match the Bundle-SymbolicName in each plugin's MANIFEST.MF --> <bundle id="oceanstor-openapi" /> <bundle id="com.vmware.wsvim25" /> <bundle id="com.myplugin.esdk.storage.service" /> <bundle id="com.myplugin.esdk.storage.ui" /> </bundlesOrder></pluginPackage>
<?xml version="1.0" encoding="UTF-8"?>
<pluginPackage id="com.myplugin.esdk.storage.ngc" version="2.1.07" type="html" name="NGC Plugin"
description="myplugin eSDK Storage Plugin" vendor="myplugin">
<dependencies>
<!-- Minimum vSphere Client version compatible with this plugin -->
<pluginPackage id="com.vmware.vsphere.client" version="5.5.0" />
</dependencies>
<bundlesOrder>
<!-- List the bundles from the /plugins directory in loading order: 3rd party
libraries first, them java service bundles and finally UI bundles.
Bundle Ids must match the Bundle-SymbolicName in each plugin's MANIFEST.MF
-->
<bundle id="oceanstor-openapi" />
<bundle id="com.vmware.wsvim25" />
<bundle id="com.myplugin.esdk.storage.service" />
<bundle id="com.myplugin.esdk.storage.ui" />
</bundlesOrder>
</pluginPackage>
If I load as the order shown in the plugin-package.xml, nothing bad happens.
I put the plugin into the html-client-sdk\vsphere-ui\plugin-packages folder, the virgo server would package it into a par file.
The manifest file in bundle service:
Manifest-Version: 1.0
Export-Package: com.myplugin.esdk.storage.mvc;
uses:="com.myplugin.esdk.storage.common.vm,
com.myplugin.esdk.storage.model,
com.myplugin.esdk.storage.service.device,
com.vmware.vise.data,
com.vmware.vise.data.query,
org.springframework.beans.factory.annotation,
org.springframework.stereotype,
org.springframework.web.bind.annotation",
com.myplugin.esdk.storage.service.datastore,
com.myplugin.esdk.storage.service.device;uses:="com.myplugin.esdk.storage.model,com.vmware.vise.data.query,com.vmware.vise.vim.data",
com.myplugin.esdk.storage.service.host,
com.myplugin.esdk.storage.service.mount,
com.myplugin.esdk.storage.service.resource,
com.myplugin.esdk.storage.service.snapshot,
com.myplugin.esdk.storage.service.vm
Bundle-Vendor: myplugin
Bundle-Version: 1.5.50
Tool: Bundlor 1.1.0.RELEASE
Bundle-Name: NGCPlugin-service
Bundle-ManifestVersion: 2
Import-Package: com.google.gson,
com.google.gson.annotations,
com.google.gson.internal,
com.google.gson.reflect,
com.google.gson.stream,
com.vmware.vim25,
com.vmware.vise.data,
com.vmware.vise.data.query,
com.vmware.vise.security,
com.vmware.vise.usersession,
com.vmware.vise.vim.data,
javax.crypto,
javax.crypto.spec,
javax.net.ssl,
javax.xml.parsers,
javax.xml.transform,
javax.xml.transform.dom,
javax.xml.transform.stream,
javax.xml.ws,
javax.xml.bind,
org.apache.commons.logging,
org.dom4j,
org.dom4j.io,
org.json,
org.springframework.beans.factory.annotation,
org.springframework.http,
org.springframework.stereotype,
org.springframework.web.bind.annotation,
org.w3c.dom,
org.xml.sax,
org.wcc.crypt,
org.wcc.framework,
org.apache.commons.codec,
org.apache.commons.codec.binary,
org.apache.commons.codec.digest,
org.apache.commons.codec.language,
org.apache.commons.codec.language.bm,
org.apache.commons.codec.net,
org.apache.commons.io,
org.slf4j,
org.springframework.scheduling.concurrent,
org.springframework.context,
org.springframework.beans,
org.springframework.scheduling,
org.springframework.core,
org.springframework.core.task
Bundle-SymbolicName: com.myplugin.esdk.storage.service
Bundle-ClassPath: .