2016-07-05 7 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 
) 

} 

しかし、あなたは非常に古いバージョン(最後のリリースは2013年9月にあった2.1を再生する)から移行されているので、私は本当にあなたがbuild.sbt代わりのproject/Build.scalaを使用することをお勧めします。

name := """dashboard""" 

version := "1.0-SNAPSHOT" 

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

scalaVersion := "2.11.8" 

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

そして、代わりにjavaEbeanを追加するのではなく、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

ありがとうございました。まだ同じエラーが発生しています。 –

+0

project \ Build.scala:13:object PlayScalaはパッケージプレイのメンバーではありません val main = Project(appName、file( "。"))。enablePlugins(play.PlayScala).settings( –

+0

import sbt._ import Keys._ オブジェクトApplicationBuildビルド{ ヴァルのappName = "MyProjectと" ヴァルのappversion = "1.0-SNAPSHOT" ヴァルappDependencies = SEQ() ヴァルメイン=プロジェクト(appNameは、延び インポートplay.PlayJavaファイル( "。"))。enablePlugins(play.PlayScala).settings( バージョン:= appVersion、 libraryDependencies ++ = appDepenデンシティ ) }これは私のBuild.scala –

関連する問題