Java 如何克服oracle.odi.core.odinstance.createInstance中的错误

Java 如何克服oracle.odi.core.odinstance.createInstance中的错误,java,oracle-data-integrator,Java,Oracle Data Integrator,我正在尝试我的第一个ODI(Oracle Data Integrator)SDK java程序。(见下文)。它只是试图连接 package docOdi; import oracle.odi.core.OdiInstance; import oracle.odi.core.config.MasterRepositoryDbInfo; import oracle.odi.core.config.OdiInstanceConfig; import oracle.odi.core.config.Poo

我正在尝试我的第一个ODI(Oracle Data Integrator)SDK java程序。(见下文)。它只是试图连接

package docOdi;
import oracle.odi.core.OdiInstance;
import oracle.odi.core.config.MasterRepositoryDbInfo;
import oracle.odi.core.config.OdiInstanceConfig;
import oracle.odi.core.config.PoolingAttributes;
import oracle.odi.core.config.WorkRepositoryDbInfo;
public class Test {
  public static void main(String[] args) {

  System.out.println("Creating Master and Work Repo objects...");

  MasterRepositoryDbInfo masterInfo = new MasterRepositoryDbInfo(
  OdiBean.Url, OdiBean.Driver,
  OdiBean.Master_User, OdiBean.Master_Pass.toCharArray(),
  new PoolingAttributes());

  WorkRepositoryDbInfo workInfo = new WorkRepositoryDbInfo(
  OdiBean.WorkRepoName, new PoolingAttributes());

  System.out.println("Creating Odi Config...");
  OdiInstanceConfig odiCfg = new OdiInstanceConfig(masterInfo,workInfo);


  System.out.println("Connecting");
  OdiInstance odiInstance=OdiInstance.createInstance(odiCfg);  // <<< this line error: java.lang.NoClassDefFoundError: org/eclipse/persistence/sessions/Session
  }
}
packagedocodi;
导入oracle.odi.core.odi实例;
导入oracle.odi.core.config.MasterRepositoryDbInfo;
导入oracle.odi.core.config.OdiInstanceConfig;
导入oracle.odi.core.config.PooligatAttribute;
导入oracle.odi.core.config.WorkRepositoryDbInfo;
公开课考试{
公共静态void main(字符串[]args){
System.out.println(“创建主对象和工作报告对象…”);
MasterRepositoryDbInfo masterInfo=新的MasterRepositoryDbInfo(
OdiBean.Url,OdiBean.Driver,
OdiBean.Master\u用户,OdiBean.Master\u Pass.toCharArray(),
新的共同赞词();
WorkRepositoryDbInfo workInfo=新的WorkRepositoryDbInfo(
OdiBean.WorkRepoName,新池属性());
System.out.println(“创建Odi配置…”);
OdiInstanceConfig odiCfg=新的OdiInstanceConfig(主信息、工作信息);
System.out.println(“连接”);

因此,使用oracle.odi.*包创建java程序的方法似乎是将以下文件夹中的所有jar添加到类路径中

[您的\u ODI\u主页]\ODI\sdk\lib

因为在odi java类中有许多层的依赖关系

供参考: 下面是我的v12 ODI安装的JAR列表

activation.jar, 
aopalliance.jar, 
bsf.jar, 
bsh-2.0b4.jar, 
commons-beanutils-1.7.0.jar, 
commons-codec-1.3.jar, 
commons-collections-3.2.2.jar, 
commons-discovery-0.4.jar, 
commons-httpclient-3.1.jar, 
commons-io-2.2.jar, 
commons-lang-2.2.jar, 
commons-logging-1.1.1.jar, 
commons-net-3.3.jar, 
commons-vfs-1.0.jar, 
commons-vfs2-2.0.jar, 
connector.jar, 
cpld.jar, 
enterprise_data_quality.jar, 
gson-2.6.2.jar, 
hsqldb.jar, 
jakarta-oro-2.0.8.jar, 
javolution.jar, 
jms.jar, 
jsch-0.1.53.jar, 
json-path-2.2.0.jar, 
jython.jar, 
jzlib-1.07.jar, 
log4j-1.2.16.jar, 
odi-core.jar, 
odi-sap.jar, 
odi-wls-template-gen.jar, 
odihapp_common.jar, 
odihapp_essbase.jar, 
odihapp_planning.jar, 
ogg_jmx_interface.jar, 
oracle.odi-jaxrsri.jar, 
oracle.odi-sdk-jse.jar, 
org.eclipse.jgit_3.6.2.201501210735-r.jar, 
pop3.jar, 
sapjco.jar, 
sapjco3.jar, 
slf4j-api-1.7.5.jar, 
spring-aop.jar, 
spring-beans.jar, 
spring-context-support.jar, 
spring-context.jar, 
spring-core.jar, 
spring-expression.jar, 
spring-instrument-tomcat.jar, 
spring-instrument.jar, 
spring-jdbc.jar, 
spring-jms.jar, 
spring-orm.jar, 
spring-oxm.jar, 
spring-struts.jar, 
spring-test.jar, 
spring-tx.jar, 
spring-web.jar, 
spring-webmvc-portlet.jar, 
spring-webmvc.jar, 
svnkit-1.8.3.jar, 
trilead-ssh2-1.0.0-build217.jar, 
trove.jar, 
woodstox.jar, 
XmlSchema-1.4.2.jar, 

因此,使用oracle.odi.*包创建java程序的方法似乎是简单地将以下文件夹中的所有jar添加到类路径中

[您的\u ODI\u主页]\ODI\sdk\lib

因为在odi java类中有许多层的依赖关系

供参考: 下面是我的v12 ODI安装的JAR列表

activation.jar, 
aopalliance.jar, 
bsf.jar, 
bsh-2.0b4.jar, 
commons-beanutils-1.7.0.jar, 
commons-codec-1.3.jar, 
commons-collections-3.2.2.jar, 
commons-discovery-0.4.jar, 
commons-httpclient-3.1.jar, 
commons-io-2.2.jar, 
commons-lang-2.2.jar, 
commons-logging-1.1.1.jar, 
commons-net-3.3.jar, 
commons-vfs-1.0.jar, 
commons-vfs2-2.0.jar, 
connector.jar, 
cpld.jar, 
enterprise_data_quality.jar, 
gson-2.6.2.jar, 
hsqldb.jar, 
jakarta-oro-2.0.8.jar, 
javolution.jar, 
jms.jar, 
jsch-0.1.53.jar, 
json-path-2.2.0.jar, 
jython.jar, 
jzlib-1.07.jar, 
log4j-1.2.16.jar, 
odi-core.jar, 
odi-sap.jar, 
odi-wls-template-gen.jar, 
odihapp_common.jar, 
odihapp_essbase.jar, 
odihapp_planning.jar, 
ogg_jmx_interface.jar, 
oracle.odi-jaxrsri.jar, 
oracle.odi-sdk-jse.jar, 
org.eclipse.jgit_3.6.2.201501210735-r.jar, 
pop3.jar, 
sapjco.jar, 
sapjco3.jar, 
slf4j-api-1.7.5.jar, 
spring-aop.jar, 
spring-beans.jar, 
spring-context-support.jar, 
spring-context.jar, 
spring-core.jar, 
spring-expression.jar, 
spring-instrument-tomcat.jar, 
spring-instrument.jar, 
spring-jdbc.jar, 
spring-jms.jar, 
spring-orm.jar, 
spring-oxm.jar, 
spring-struts.jar, 
spring-test.jar, 
spring-tx.jar, 
spring-web.jar, 
spring-webmvc-portlet.jar, 
spring-webmvc.jar, 
svnkit-1.8.3.jar, 
trilead-ssh2-1.0.0-build217.jar, 
trove.jar, 
woodstox.jar, 
XmlSchema-1.4.2.jar, 

嘿@Doc,这个错误不是ODI SDK特有的,我建议你也检查类似于这个的java问题。如果我找到答案,我会更新我的评论,或者在这里发送答案。我猜这与。SessionFactory隐式创建会话类的实例有关。嗨,伙计们,我有类似的问题,但代码没有给出任何错误,它挂起了s、 有什么建议吗?嗨@CanburakTümer,我也有同样的问题。你找到解决方案了吗?嗨@CyriaquePin,很遗憾我没有解决方案。嗨@Doc,这个错误不是ODI SDK特有的,我建议你检查java问题。如果我找到了答案,我会更新我的评论,或者在这里发送答案。我想是的与相关。SessionFactory隐式创建会话类的实例。嗨,伙计们,我有类似的问题,但代码没有给出任何错误、挂起或建议。?嗨@CanburakTümer,我有完全相同的问题。你找到解决方案了吗?嗨@CyriaquePin,很遗憾,我没有解决方案。