2016-07-05 2 views
1

Play 2.1.3에서 Play 2.5.4로 업그레이드 중입니다. 나는 여러 문제를 해결하지만 지금은 추측 마지막 단계에서 막혔어요 :Play 2.1에서 2.5로 마이그레이션 : Build.scala 구성 문제

project/Build.scala :

import sbt._ 
import Keys._ 
import play.sbt._ 
import Play.autoImport._ 
import PlayKeys._ 
object ApplicationBuild extends Build { 

    val appName   = "dashboard" 
    val appVersion  = "1.0-SNAPSHOT" 

    val appDependencies = Seq(
     // Add your project dependencies here, 
     javaCore, 
     javaJdbc, 
     javaEbean 
    ) 

    val main = play.Project(appName, appVersion, appDependencies).settings(
     // Add your own project settings here  
    ) 
} 

나는 내 프로젝트에 활성 실행을 할 때, 나는 다음과 같은 오류 얻을 :

[error] \project\Build.scala:19: object Project is not a member of package play 
[error] val main = play.Project(appName, appVersion, apDependencies).settings(
[error]     ^
[error] one error found 
[debug] Compilation failed (CompilerInterface) 
[error] (compile:compileIncremental) Compilation failed 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

누군가 도와 드릴 수 있습니까?

답변

1

play.Project은 2.3 버전의 네이티브 sbt 프로젝트 지원으로 대체되었습니다. 이 버전 migration docs에서 :

If you were previously using play.Project, for example a Scala project:

object ApplicationBuild extends Build { 

    val appName = "myproject" 
    val appVersion = "1.0-SNAPSHOT" 

    val appDependencies = Seq() 

    val main = play.Project(appName, appVersion, appDependencies).settings(
) 

} 

...then you can continue to use a similar approach via native sbt:

object ApplicationBuild extends Build { 

    val appName = "myproject" 
    val appVersion = "1.0-SNAPSHOT" 

    val appDependencies = Seq() 

    val main = Project(appName, file(".")).enablePlugins(play.PlayScala).settings(
    version := appVersion, 
    libraryDependencies ++= appDependencies 
) 

} 

, 당신은 매우 이전 버전에서 마이그레이션 이후 (2.1 마지막 릴리스 9 월 2013 년이었다 재생), 나는 진정으로 당신이 build.sbt 대신 project/Build.scala 사용하는 것이 좋습니다. 마이그레이션은 같은 것입니다 : 대신 javaEbean를 추가,

name := """dashboard""" 

version := "1.0-SNAPSHOT" 

lazy val root = (project in file(".")).enablePlugins(PlayJava) 

scalaVersion := "2.11.8" 

libraryDependencies ++= Seq(
    javaJdbc, 
    cache, 
    javaWs 
) 

을, 당신은 대신 play-ebean를 사용해야합니다. 그래서, 당신의 project/plugins.sbt 파일에 다음 줄을 추가하려면 (이 changed at Play 2.4이고 당신이 documented for Play 2.5로 업데이트 된 버전을 사용해야합니다) : 그 후

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0") 

를, 이런 식으로 뭔가에 root 프로젝트 정의를 변경 :

lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean) 

이렇게하면 Ebean 종속성이 자동으로 추가됩니다. 마지막으로 2.1과 2.5 사이의 모든 마이그레이션 가이드를 읽는 것이 좋습니다.

+0

Marcos에게 감사드립니다. 여전히 같은 오류가 발생합니다. –

+0

project \ Build.scala : 13 : object PlayScala가 패키지 재생의 구성원이 아닙니다. val main = Project (appName, file (".")). enablePlugins (play.PlayScala) .settings ( –

+0

import sbt._ import Keys._ 수입 play.PlayJava 객체 ApplicationBuild가 { 발 APPNAME = "MyProject를" 발 appVersion = "1.0-SNAPSHOT" 발에 appDependencies = 서열 번호() 발 주 = 프로젝트 (APPNAME 빌드 확장, 파일 (".")). enablePlugins (play.PlayScala) .settings ( 버전 : = appVersion, libraryDependencies ++ = appDepen dend ) } 내 Build.scala –