【问题标题】:SBT in Play Framework can't find org.hibernate dependenciesPlay Framework 中的 SBT 找不到 org.hibernate 依赖项
【发布时间】:2013-11-24 16:06:34
【问题描述】:

当我尝试在 Play Framework 2 应用程序中实现 Hibernate 时,它​​找不到 org.hibernate 库。

[error] /home/cc/Desktop/eclipses/workspace/muell/app/controllers/HibernateUtil.java:3: error: package org.hibernate does not exist
[error] import org.hibernate.Session;
[error]                     ^
[error] /home/cc/Desktop/eclipses/workspace/muell/app/controllers/HibernateUtil.java:4: error: package org.hibernate does not exist
[error] import org.hibernate.SessionFactory;  
[error]                     ^
[error] /home/cc/Desktop/eclipses/workspace/muell/app/controllers/HibernateUtil.java:5: error: package org.hibernate.cfg does not exist
[error] import org.hibernate.cfg.Configuration;
... and so on ...

这里是build.sbt

name := "muell"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  "mysql" % "mysql-connector-java" % "5.1.18"
)     

val appDependencies = Seq(
    "org.hibernate" %% "hibernate-core" % "4.2.6.Final",
    "org.hibernate" %% "hibernate-entitymanager" % "3.6.9.Final",
    "org.hibernate.javax.persistence" %% "hibernate-jpa-2.0-api" % "1.0.0.Final"
)

play.Project.playJavaSettings

这里是plugins.sbt

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
resolvers += "Primary Maven Repository" at "http://repo1.maven.org/maven2/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.0")

【问题讨论】:

    标签: java hibernate playframework sbt


    【解决方案1】:

    这适用于我玩框架 2.2.1,我认为它应该适用于 2.2.0,

    问题是你用 %% 为 scala 版本添加依赖,这仅适用于 java,你当然可以与 scala 一起使用。

    由于它是一个 maven 存储库,因此您无需将其指定为解析器。

    这是我的 build.sbt 的内容:

    name := "testHibernate"
    
    version := "1.0-SNAPSHOT"
    
    libraryDependencies ++= Seq(
      jdbc,
      anorm,
      cache,
      "org.hibernate" % "hibernate-core" % "4.3.0.CR1",
      "org.hibernate" % "hibernate-entitymanager" % "4.3.0.CR1",
      "org.hibernate.javax.persistence" % "hibernate-jpa-2.1-api" % "1.0.0.Draft-16"
    )     
    
    play.Project.playScalaSettings
    

    如果要更改休眠版本,请转到

    http://search.maven.org/#search|ga|1|hibernate 并记得更改该文件:

    "groupId" % "artifactId" % "version"
    

    如果存在一个改编的 scala 版本在 play 框架中解释它:

    使用 %% 获得正确的 Scala 版本

    如果你使用 groupID %% artifactID % revision 而不是 groupID % artifactID % revision (区别是 groupID 后面的双 %%),sbt 会将你项目的 Scala 版本添加到工件名称中。这只是一个捷径。

    希望对你有帮助!

    【讨论】:

    • 谢谢,您的版本有效。不知道为什么4.2.6.Final有问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2014-10-24
    • 2014-08-23
    • 1970-01-01
    相关资源
    最近更新 更多