2012-07-15 93 views
2

我的团队使用datanucleus库进行客户端 - 服务器应用程序。我们使用3.0.0版本。 我们可以成功通过NetBeans构建应用程序。问题是,在服务器端应用程序在运行时,我们得到这个错误:类org.datanucleus.jdo.JDOPersistenceManagerFactory未找到

Exception in thread "main" javax.jdo.JDOFatalUserException: Class org.datanucleus.jdo.JDOPersistenceManagerFactory was not found. 

的代码行抛出异常:

mPMF = JDOHelper.getPersistenceManagerFactory(Utilities.SERVER_JDO_CONFIG_FILE); 

这里已包括了DataNucleus将-API JDO -3.0.0-release.jar,它确实包含了麻烦的org.datanucleus.jdo.JDOPersistenceManagerFactory,所以我们不知道这里出了什么问题。

任何人都曾经历过这个? 以前感谢。

+1

那么,为什么你会引用特定的类名呢?它已从v2.x中的DataNucleus中删除,但您正在使用v3.0 – DataNucleus 2012-07-15 18:02:00

+1

我们不确定您指的是哪一类。但是我们并不特别引用org.datanucleus.jdo.JDOPersistenceManagerFactory。 JDOHelper.getPersistenceManager的实现可以做到这一点。 感谢您的快速回复! – HoverPhoenix 2012-07-15 18:06:32

+0

哪类?哪个类在错误消息中?你在你的配置中指的是它。没有其他方式带来 – DataNucleus 2012-07-15 18:23:18

回答

0

如果您正在使用SBT,线下方设置...

val deps_database : Seq[Setting[_]] = 
    Seq(
    libraryDependencies ++= Seq(
     "javax.jdo"    % "jdo-api"        % "3.1", 
     "org.datanucleus"  % "datanucleus-core"      % "4.0.6", //TODO:: Versions.datanucleus, 
     "org.datanucleus"  % "datanucleus-api-jdo"     % "4.0.5", 
     "org.datanucleus"  % "datanucleus-jdo-query"    % "4.0.4", 
     "org.datanucleus"  % "datanucleus-rdbms"     % "4.0.11", 
     "org.datanucleus"  % "datanucleus-mongodb"     % "4.0.5", 
     "com.h2database"   % "h2"         % "1.4.185", 
     "org.mongodb"   % "mongo-java-driver"     % "2.1.3", 
     "org.postgresql"   % "postgresql"       % "1.4-1200-jdbc41")) 

...在你的项目或子模块,像这样:

lazy val root = 
    project.in(file(".")) 
    .settings(buildInfoSettings:_*) 
    .settings(disablePublishing:_*) 
    .aggregate(model, data, headless) 

lazy val util = 
    project.in(file("util")) 
    .settings(publishSettings:_*) 
    .settings(librarySettings:_*) 
    .settings(paranoidOptions:_*) 
    .settings(otestFramework: _*) 
    .settings(deps_resolvers:_*) 
    .settings(deps_essential:_*) 

lazy val model = 
    project.in(file("model")) 
    .settings(publishSettings:_*) 
    .settings(librarySettings:_*) 
    .settings(paranoidOptions:_*) 
    .settings(otestFramework: _*) 
    .settings(deps_resolvers:_*) 
    .settings(deps_essential:_*) 
    .settings(deps_database:_*) 
    .settings(managedSources:_*) 

你可以看到一个完整的例子:http://github.com/frgomes/poc-scala-datanucleus