7

Play 2.0 フレームワークでサンプルを実行しようとしていますが、"play" または "sbt" を実行しようとすると、.

ディレクトリ "/samples/scala/helloworld" に移動して "sbt" を実行すると、次の情報が得られます。

    [info] Loading project definition from C:\src\Play20\samples\scala\helloworld\project
[warn]  module not found: play#sbt-plugin;2.0
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/play/sbt-plugin/scala_2.9.2/sbt_0.12/2.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/play/sbt-plugin/scala_2.9.2/sbt_0.12/2.0/ivys/ivy.xml
[warn] ==== local: tried
[warn]   C:\Users\labra\.ivy2\local\play\sbt-plugin\scala_2.9.2\sbt_0.12\2.0\ivys\ivy.xml
[warn] ==== Typesafe repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/play/sbt-plugin_2.9.2_0.12/2.0/sbt-plugin-2.0.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/play/sbt-plugin_2.9.2_0.12/2.0/sbt-plugin-2.0.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: play#sbt-plugin;2.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      play:sbt-plugin:2.0 (sbtVersion=0.12, scalaVersion=2.9.2)
[warn] 
sbt.ResolveException: unresolved dependency: play#sbt-plugin;2.0: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:214)
. . .

    at java.lang.Thread.run(Thread.java:722)
[error] (*:update) sbt.ResolveException: unresolved dependency: play#sbt-plugin;2.0: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 
[info] Loading project definition from C:\src\Play20\samples\scala\helloworld\project
[warn]  module not found: play#sbt-plugin;2.0
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/play/sbt-plugin/scala_2.9.2/sbt_0.12/2.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/play/sbt-plugin/scala_2.9.2/sbt_0.12/2.0/ivys/ivy.xml
[warn] ==== local: tried
[warn]   C:\Users\labra\.ivy2\local\play\sbt-plugin\scala_2.9.2\sbt_0.12\2.0\ivys\ivy.xml
[warn] ==== Typesafe repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/play/sbt-plugin_2.9.2_0.12/2.0/sbt-plugin-2.0.pom
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/play/sbt-plugin_2.9.2_0.12/2.0/sbt-plugin-2.0.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: play#sbt-plugin;2.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      play:sbt-plugin:2.0 (sbtVersion=0.12, scalaVersion=2.9.2)
[warn] 
sbt.ResolveException: unresolved dependency: play#sbt-plugin;2.0: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:214)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122)
. . .
    at java.lang.Thread.run(Thread.java:722)
[error] (*:update) sbt.ResolveException: unresolved dependency: play#sbt-plugin;2.0: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q

http://www.scala-sbt.org/release/docs/Getting-Started/Setupから sbt バージョン 12.1 をインストールしました

ここで同様の質問に気づきました: https://groups.google.com/forum/?fromgroups=#!topic/simple-build-tool/DGUbWsgZiLw

回答では、SBT の「Launcher」バージョンに関連しているようです。自分の Launcher sbt バージョンを知るにはどうすればよいですか? どうすれば更新できますか?

また、ソースから xsbt をコンパイルしようとしましたが、「sbt build-all」を実行すると、次のようになります。

    . . .
[info] Reading library jar [C:\compi\jdk\jre\lib\rt.jar]
[error] Error: Can't read [proguard.ClassPathEntry@73abdb5e] (Can't process class [com/oracle/net/Sdp$1.class] (Unsupported version number [51.0] for class format))
[error] java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
[error] Use 'last' for the full log.

ただし、私の問題はxsbtをコンパイルすることではなく、「Playの例」を実行する方法を知ることです

新しいフォルダーで「sbt sbt-version」を実行すると、次のようになります。

[info] Set current project to default-85f41b (...)
[info] 0.12.1
4

5 に答える 5

6

project/plugins.sbtを見ると、play.versionシステム プロパティが設定されていることが期待されていることがわかります。

addSbtPlugin("play" % "sbt-plugin" % Option(System.getProperty("play.version")).getOrElse("2.0"))

したがって、必要なplay.versionプロパティを提供する必要があります

$ sbt -Dplay.version=2.1-RC1

または単に次のように変更plugins.sbtします

addSbtPlugin("play" % "sbt-plugin" % "2.1-RC1")
于 2012-12-06T11:22:29.040 に答える
4

Activator 1.0 ユーザーの場合:

プロジェクトを Activator 1.0 にロードした、Play プロジェクトを新しいバージョンにアップグレードすると、この問題が発生することがあります。これは、Activator が /project ディレクトリに次のようなファイルを作成するためですactivator-...-shim.sbt。これらのファイルを削除すると、Activator は次のコンパイルで問題を解決するはずです。

于 2013-10-09T01:30:56.780 に答える
2

Play 2.1-RC1 に切り替えたら問題が解決しました

また、挿入して解決したいくつかの依存関係にも問題がありました。

// The Typesafe snapshots repository
resolvers += "Typesafe Snapshots" at "http://repo.typesafe.com/typesafe/snapshots/"

plugins.sbt で

私はただフォローしていました: https://github.com/playframework/Play20/wiki/Repositories

于 2012-12-18T23:36:33.363 に答える
1

play 2.0.2の場合、SBT のバージョン 2.0.2 は私のプロジェクトで問題なく動作しました。plugins.sbtファイルのaddSbtPlugin行を次のように変更しました。

addSbtPlugin("play" % "sbt-plugin" % "2.0.2")

以前のバージョンでも同様です。Labra がすでに指摘したように、このバージョンの SBT は最新ではないため、取得するには次のリゾルバーも追加する必要があるでしょう。

resolvers += "Typesafe Snapshots" at "http://repo.typesafe.com/typesafe/snapshots/"

この種の問題を解決するもう 1 つの方法は、可能であればプロジェクトの Play Framework を最新バージョンに更新することです。これは、コード ベースを最新の状態に保つことができるため、長期的にはおそらく最良の選択です。

于 2013-05-16T00:10:29.707 に答える