1

我正在尝试在 Java 中使用 DataObjects:

DataFactory factory = DataFactory.INSTANCE;

在一个 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)
4

3 回答 3

0

我认为该应用程序是基于 EMF SDO 的?

您可以在 IDE 中将您的应用程序作为 Eclipse 应用程序运行,而不是 Java 应用程序,因为该应用程序需要 OSGi 包加载机制来在运行时加载所需的包(即 org.eclipse.core.runtime)。

于 2011-01-11T02:15:50.020 回答
0

你在使用进程服务器吗?我很确定 com.ibm.ws.sca.internal.container.impl.ContainerImpl 是一个 Process Server 类......

于 2011-01-13T17:22:57.973 回答
0

尝试从 JUnit 实例化 BOFactory 类时,我遇到了类似的问题。我能够通过向org-eclipse-equinox-registry.jar我的项目添加文件以及 SDO jar 文件来解决它。

将 JAR 文件添加到项目

另请参阅:Junit:创建 BOFactory 实例时出现异常

于 2017-02-18T11:55:12.267 回答