2013-11-24 82 views
1

当我尝试在Play Framework 2应用程序中实现Hibernate时,它无法找到org.hibernate库。Play Framework中的SBT无法找到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") 

回答

3

这对我的作品起到框架2.2.1,我认为应该在2.2.0工作,

问题是你正在为scala版本添加依赖项wi th %%,而这只适用于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版本,在播放框架中解释它:

获得正确的Scala版本%%

如果您使用groupID %% artifactID%修订版而不是groupID%artifactID%修订版(不同之处在于groupID后的double%),sbt会将您项目的Scala版本添加到工件名称。这只是一条捷径。

我希望它能帮你!

+0

谢谢,你的版本工作。不知道为什么4.2.6.Final有问题 – Crayl

相关问题