2011-01-10 4 views
1

나는 자바에서 데이터 객체를 사용하려고 해요 :java.lang.NoClassDefFoundError가 : org.eclipse.core.runtime.RegistryFactory

DataFactory factory = DataFactory.INSTANCE; 

하나 개의 자바 프로젝트에 사용 :

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 응용 프로그램 서버 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 클래스를 인스턴스화 할 때 비슷한 문제가 발생했다. 나는 SDO jar 파일과 함께 org-eclipse-equinox-registry.jar 개의 파일을 프로젝트에 추가하여 문제를 해결할 수있었습니다.

Adding JAR files to Project

은 참조 : Junit : Exception while creating BOFactory instance