Java 创建OrientDB数据库时出现意外异常

Java 创建OrientDB数据库时出现意外异常,java,orientdb,Java,Orientdb,我是OrientDB的新手,正在尝试用java代码创建一个数据库。我正在使用Play框架构建应用程序,但在运行代码时显示以下异常: OdbConfig coredb = new OdbConfig("coredb"); //coredb.url = "plocal:databases/coredb"; try{ new ODatabaseDocumentTx(coredb.url).create(); System.out.print("Database Crea

我是OrientDB的新手,正在尝试用java代码创建一个数据库。我正在使用Play框架构建应用程序,但在运行代码时显示以下异常:

OdbConfig coredb = new OdbConfig("coredb"); //coredb.url = "plocal:databases/coredb";
try{
        new ODatabaseDocumentTx(coredb.url).create();
        System.out.print("Database Created");
    }
    catch(Exception e){
        System.out.print("ALREADY CREATED DATABASES");
        System.out.print(e);    
    }
意外异常:

NoClassDefFoundError:无法初始化类com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal
没有可用的源,以下是异常堆栈跟踪:
->java.lang.NoClassDefFoundError:无法初始化类com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.setCurrentDatabaseInThreadLocal(ODatabaseDocumentTx.java:2575)
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:357)
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:352)
com.oseep.orient.core.Connection.initConnection(Connection.java:26)
com.oseep.commons.OPlugin.onStart(OPlugin.java:24)
play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:91)
play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:91)
scala.collection.immutable.List.foreach(List.scala:381)
play.api.play$$anonfun$start$1.apply$mcV$sp(play.scala:91)
play.api.play$$anonfun$start$1.apply(play.scala:91)
play.api.play$$anonfun$start$1.apply(play.scala:91)
play.utils.Threads$.withContextClassLoader(Threads.scala:21)
play.api.play$.start(play.scala:90)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:157)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:130)
scala.Option.map(Option.scala:145)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:130)
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:128)
scala.util.Success.flatMap(Try.scala:230)
play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:128)
play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:120)
scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
scala.concurrent.forkjoin.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1361)
scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

它看起来像一个依赖性/类路径/包问题,而不是OrientDB。当我在同一jvm中执行任务(test,runMain)时,我对play Framework出现了相同的问题。sbt中的Key
Keys.fork:=true
解决了这个问题。这段代码在Linux机器上运行良好。在Windows上运行时遇到问题。有什么建议吗?它奏效了,不得不用JDK 7代替JDK 8。不知道为什么在JDK 8上运行时失败。