2015-10-22 93 views
1

我正在嘗試編寫一個SoapUI Java應用程序。例如經過WSDLProject對象我得到這些錯誤代碼:NoClassDefFoundError com/eviware/soapui/impl/wsdl/WsdlProject

Root exception: 
java.lang.NoClassDefFoundError: com/eviware/soapui/impl/wsdl/WsdlProject 
    at WSDLTest.Connector.<init>(Connector.java:27) 
    at de.delicom.testosgi.Activator.start(Activator.java:22) 
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) 
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) 
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) 
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941) 
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318) 
    at org.eclipse.osgi.container.Module.doStart(Module.java:571) 
    at org.eclipse.osgi.container.Module.start(Module.java:439) 
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) 
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) 
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) 
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) 
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340) 
Caused by: java.lang.ClassNotFoundException: com.eviware.soapui.impl.wsdl.WsdlProject cannot be found by de.xxx.testosgi_1.0.0.qualifier 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344) 
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 18 more` 

我的代碼是:

public Connector(String link) throws Exception{ 

     SoapUI sui; 

     WsdlProject wsdl = new WsdlProject("https://public-ws.dpd.com/services/DepotDataService/V1_0/?wsdl"); 

我包括這些外部JAR文件:

  • 的soapUI,4.0.1.0.jar
  • xmlbeans-2.6.0.jar
  • xmlbeans-xpath-2.6.0.jar

最良好的祝願

+0

您將它添加到您的構建路徑或您的類路徑? – Jens

+0

我將它添加到我的構建路徑中 – creative235

+0

因此,您必須將其添加到類路徑 – Jens

回答

0

第一:我覺得你應該嘗試改變你的代碼,這樣的事情:

String urlWsdl = "http://yourUrlWSDL"; 
    WsdlProject project = new WsdlProject();  
    WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, urlWsdl); 
    wsdl = wsdls[0]; 

二:嘗試添加以下庫(你的Maven項目),複製依賴性這pom.xml中的庫:

http://pastebin.com/iqV5B7aT

注:pom.xml中已經使用了一個小的應用程序,使用肥皂服務