2013-11-24 135 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

相關問題