2011-01-10 19 views
1

は、私はJavaでのDataObjectを使用しようとしている:java.lang.NoClassDefFoundErrorが:org.eclipse.core.runtime.RegistryFactory

DataFactory factory = DataFactory.INSTANCE; 

1つのJavaプロジェクトで使用して:

import commonj.sdo.DataObject; 

そして私をこのエラーが発生しました:

Exception in thread "main" java.lang.NoClassDefFoundError: org.eclipse.core.runtime.RegistryFactory 
at org.eclipse.core.internal.runtime.InternalPlatform.getRegistry(InternalPlatform.java:671) 
at org.eclipse.core.runtime.Platform.getExtensionRegistry(Platform.java:867) 
at com.ibm.wsspi.sca.extensions.ServiceProviderRegistry.loadServiceProviders(ServiceProviderRegistry.java:167) 
at com.ibm.wsspi.sca.extensions.ServiceProviderRegistry$1.run(ServiceProviderRegistry.java:88) 
at java.security.AccessController.doPrivileged(AccessController.java:202) 
at com.ibm.wsspi.sca.extensions.ServiceProviderRegistry.getServiceProviders(ServiceProviderRegistry.java:86) 
at com.ibm.wsspi.sca.extensions.ServiceProviderRegistry.getServiceProvider(ServiceProviderRegistry.java:101) 
at com.ibm.ws.sca.resources.loader.ClassLoaderRegistry.<clinit>(ClassLoaderRegistry.java:59) 
at java.lang.J9VMInternals.initializeImpl(Native Method) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 
at com.ibm.ws.sca.internal.container.impl.ContainerImpl.<clinit>(ContainerImpl.java:356) 
at java.lang.J9VMInternals.initializeImpl(Native Method) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 
at com.ibm.ws.sca.internal.container.impl.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:70) 
at com.ibm.ws.sca.internal.container.Container.<clinit>(Container.java:111) 
at java.lang.J9VMInternals.initializeImpl(Native Method) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 
+2

は、古き良きクラスパスの問題、私はWebphereのApplication Server 7.0で実行しようとしている – Nishant

答えて

0

Process Serverを使用していますか?私はかなり確信しています。com.ibm.ws.sca.internal.container.impl.ContainerImplはProcess Serverクラスです。

+0

はい私は問題ですが、クラスをorg.eclipse.emf.ecore.sdo.sample.clientパッケージとorg.eclipse.emf.ecore.sdo.sample.dmsパッケージに入れて解決しています – Pedro

0

私はアプリケーションがEMF SDOに基づいていると思いますか?

実行時に必要なバンドル(つまりorg.eclipse.core.runtime)をロードするためにアプリケーションでOSGiバンドルのロード機構が必要なため、Javaアプリケーションの代わりにIDEでEclipseアプリケーションとしてアプリケーションを実行できます。

+0

のように聞こえる、ターゲット・サーバーです。 WASに特別なバンドルが必要ですか? – Pedro

0

JUnitからBOFactoryクラスをインスタンス化しようとしたとき、同様の問題が発生しました。私はorg-eclipse-equinox-registry.jarファイルをSDO jarファイルとともにプロジェクトに追加することで解決できました。

Adding JAR files to Project

も参照してください:Junit : Exception while creating BOFactory instance

関連する問題