Tôi mới sử dụng Scala và SBT, và tôi đang cố gắng tìm hiểu cách thêm phụ kiện xây dựng-json vào dự án Play 2.0 của tôi. Các tài liệu nâng-json nói:Thêm phụ thuộc vào xây dựng cho dự án Play 2.0
Add dependency to your project description:
val lift_json = "net.liftweb" %% "lift-json" % "XXX"
Tôi không chắc chắn kể cả trường hợp "mô tả dự án" là thực sự được lưu trữ, nhưng tôi tìm thấy một Build.scala rằng có những điều sau đây:
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "test"
val appVersion = "1.0"
val appDependencies = Seq(
// Add your project dependencies here,
"net.liftweb" %% "lift-json" % "2.9.1"
)
val main = PlayProject(appName, appVersion, appDependencies).settings(defaultScalaSettings:_*).settings(
// Add your own project settings here
)
}
Bạn có thể thấy dòng tôi đã thêm cho net.liftweb. Thật không may, điều đó dường như là địa điểm sai, hay những nội dung sai, vì tôi nhận được build lỗi sau:
[info] Updating {file:/D:/play/test/}test...
[warn] module not found: net.liftweb#lift-json_2.9.1;2.9.1
[warn] ==== local: tried
[warn] D:\play\play-2.0-beta\framework\..\repository/local/net.liftweb/lift-json_2.9.1/2.9.1/ivys/ivy.xml
[warn] -- artifact net.liftweb#lift-json_2.9.1;2.9.1!lift-json_2.9.1.jar:
[warn] D:\play\play-2.0-beta\framework\..\repository/local/net.liftweb/lift-json_2.9.1/2.9.1/jars/lift-json_2.9.1.jar
[warn] ==== Play Repository: tried
[warn] http://download.playframework.org/ivy-releases/net.liftweb/lift-json_2.9.1/2.9.1/ivys/ivy.xml
[warn] -- artifact net.liftweb#lift-json_2.9.1;2.9.1!lift-json_2.9.1.jar:
[warn] http://download.playframework.org/ivy-releases/net.liftweb/lift-json_2.9.1/2.9.1/jars/lift-json_2.9.1.jar
[warn] ==== Typesafe Repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.pom
[warn] -- artifact net.liftweb#lift-json_2.9.1;2.9.1!lift-json_2.9.1.jar:
[warn] http://repo.typesafe.com/typesafe/releases/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.jar
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.pom
[warn] -- artifact net.liftweb#lift-json_2.9.1;2.9.1!lift-json_2.9.1.jar:
[warn] http://repo1.maven.org/maven2/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.jar
[warn] ==== Scala-Tools Maven2 Repository: tried
[warn] http://scala-tools.org/repo-releases/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.pom
[warn] -- artifact net.liftweb#lift-json_2.9.1;2.9.1!lift-json_2.9.1.jar:
[warn] http://scala-tools.org/repo-releases/net/liftweb/lift-json_2.9.1/2.9.1/lift-json_2.9.1-2.9.1.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: net.liftweb#lift-json_2.9.1;2.9.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[error] {file:/D:/play/test/}test/*:update: sbt.ResolveException: unresolved dependency: net.liftweb#lift-json_2.9.1;2.9
.1: not found
[error] application -
! @68mcpckf2 - Internal server error, for request [GET /] ->
play.api.UnexpectedException: Unexpected exception [ResolveException: unresolved dependency: net.liftweb#lift-json_2.9.1
;2.9.1: not found]
at sbt.PlayProject$$anon$1$$anonfun$reload$1$$anonfun$apply$36.apply(SbtPlugin.scala:518) ~[play_2.9.1.jar:na]
at sbt.PlayProject$$anon$1$$anonfun$reload$1$$anonfun$apply$36.apply(SbtPlugin.scala:511) ~[play_2.9.1.jar:na]
at scala.Option.map(Option.scala:133) [scala-library.jar:na]
at sbt.PlayProject$$anon$1$$anonfun$reload$1.apply(SbtPlugin.scala:511) ~[play_2.9.1.jar:na]
at sbt.PlayProject$$anon$1$$anonfun$reload$1.apply(SbtPlugin.scala:510) ~[play_2.9.1.jar:na]
at scala.Either$LeftProjection.map(Either.scala:183) ~[scala-library.jar:na]
Caused by: sbt.ResolveException: unresolved dependency: net.liftweb#lift-json_2.9.1;2.9.1: not found
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:216) ~[ivy_2.9.1-0.11.0.jar:na]
at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:130) ~[ivy_2.9.1-0.11.0.jar:na]
at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:129) ~[ivy_2.9.1-0.11.0.jar:na]
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:110) ~[ivy_2.9.1-0.11.0.jar:na]
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:110) ~[ivy_2.9.1-0.11.0.jar:na]
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:98) ~[ivy_2.9.1-0.11.0.jar:na]
Tôi có một bản sao của mã nguồn Lift, nhưng tôi không biết được nơi để đặt nó. Và tôi khá chắc chắn rằng tôi đặt sự phụ thuộc đó vào sai chỗ. Làm ơn ai đó có thể chỉ cho tôi đúng hướng?
Thú vị khi bạn muốn nâng JSON trong Play 2.0. Lý do của bạn là gì? Chỉ tò mò thôi. – andyczerwonka
Vâng, tôi đã giải quyết vấn đề scala-json (do Twitter tạo ra), nhưng đó là vì tôi thấy thư viện JSON đi kèm với Play khó làm việc so với các tùy chọn khác. –
Tôi đồng ý, nâng một dường như tốt hơn rất nhiều.Tôi đã không thử Twitter. Thư viện Twitter cung cấp cho bạn thư viện nào không? Tôi thích xử lý các trường hợp Lift. – andyczerwonka