在Virgo中部署VI JAVA抛出java.lang.NoClassDefFoundError

时间:2013-10-01 14:58:15

标签: java eclipse-virgo vsphere

对于vSphere Web Client插件,我创建了一个java服务,我尝试使用VI JAVA在ESX主机中创建数据存储。我包括

import com.vmware.vim25.*;  
import com.vmware.vim25.mo.*;  

服务实现中的文件,包括外部JARS到STS环境,并创建了一个列出所有主机的函数:

public List<String> listVcHosts() throws Exception{  
   ManagedEntity[] hosts = new InventoryNavigator(rootFolder).searchManagedEntities("HostSystem");  
   List<String> listHosts = new ArrayList<String>();   
   for( ManagedEntity me : hosts ) {  
       HostSystem host = (HostSystem) me;  
       //Adding the list of hosts in List  
       listHosts.add(host.getName().toString());  
   }  
  return listHosts;  
}  

当我从STS执行JAVA应用程序时,其工作正常,没有任何警告。

我将JARS复制到服务器/提取文件夹,并尝试在VIRGO中部署服务。

它抛出了以下异常:

An Import-Package could not be resolved. Caused by missing constraint in bundle <com.xx.xxx.xxxx_1.0.0>  
             constraint: <Import-Package: com.vmware.vim25.mo; version="0.0.0">  

1 个答案:

答案 0 :(得分:1)

您似乎忘记在MANIFEST.MF文件中包含com.vmware.vim25.mo软件包。 检查此文件,MANIFEST.MF应该有一行导入此包。