Неразрешенные зависимости от установки Deadbolt на Play Framework 2.2.1
Я хотел бы попробовать Deadbolt. Какие шаги для его установки на новую Play Framework 2.2.1? То, что я нашел, это решатели и зависимости здесь. Но где я должен поставить резольверы? Я не хочу использовать Build.scala
(в Play 2.2 есть build.sbt
)
А вот строка о плагине. Куда это идет? В моем проекте нет plugins.sbt
и не знаю, предпочитает ли Play 2.2 поместить его в другом месте.
РЕДАКТИРОВАТЬ:
plugin.sbt
resolvers ++= Seq(
"Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
Resolver.url("Objectify Play Repository", url("http://schaloner.github.io/releases/"))(Resolver.ivyStylePatterns),
Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.io/snapshots/"))(Resolver.ivyStylePatterns)
)
build.sbt
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
"mysql" % "mysql-connector-java" % "5.1.27",
"org.apache.commons" % "commons-email" % "1.3.1",
"be.objectify" %% "deadbolt-java" % "2.2-RC2"
)
Ошибки игровой приставки:
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Fin[info] Resolving be.objectify#deadbolt-java_2.10;2.2-RC2 ...
[warn] module not found: be.objectify#deadbolt-java_2.10;2.2-RC2
[warn] ==== local: tried
[warn] /Users/johndoe/Applications/play-2.2.1/repository/local/be.objectify/deadbolt-java_2.10/2.2-RC2/ivys/ivy.xml
[warn] ==== Maven2 Local: tried
[warn] file:/Users/johndoe/.m2/repository/be/objectify/deadbolt-java_2.10/2.2-RC2/deadbolt-java_2.10-2.2-RC2.pom
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/be/objectify/deadbolt-java_2.10/2.2-RC2/deadbolt-java_2.10-2.2-RC2.pom
[warn] ==== Typesafe Releases Repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/be/objectify/deadbolt-java_2.10/2.2-RC2/deadbolt-java_2.10-2.2-RC2.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: be.objectify#deadbolt-java_2.10;2.2-RC2: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: be.objectify#deadbolt-java_2.10;2.2-RC2: not found
[error] Total time: 3 s, completed 12-n
3 ответа
Не добавляйте ничего к plugins.sbt
, следующая официальная документация: https://github.com/schaloner/deadbolt-2/tree/master
Добавьте к вашему build.sbt
(без ,
а также with one blank line
)
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.com/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.com/snapshots/"))(Resolver.ivyStylePatterns)
А также
libraryDependencies ++= Seq(
...
"be.objectify" %% "deadbolt-java" % "2.2-RC4",
"be.objectify" %% "deadbolt-scala" % "2.2-RC2"
)
Во время написания я использую play 2.2.1, а моя build.sbt:
name := "crud-test"
version := "1.0-SNAPSHOT"
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.com/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.com/snapshots/"))(Resolver.ivyStylePatterns)
libraryDependencies ++= Seq(
javaJdbc,
javaJpa,
"org.postgresql" % "postgresql" % "9.2-1003-jdbc4",
"org.hibernate" % "hibernate-entitymanager" % "3.6.9.Final",
"org.webjars" % "webjars-play_2.10" % "2.2.1",
"org.webjars" % "bootstrap" % "3.1.0",
"be.objectify" %% "deadbolt-java" % "2.2-RC4",
"be.objectify" %% "deadbolt-scala" % "2.2-RC2"
)
play.Project.playJavaSettings
После запуска play reload
а также play eclipse
из консоли:
...
[info] [SUCCESSFUL ]
[info] Done updating.
...
РЕДАКТИРОВАТЬ: не забудьте сделать play reload
а также play eclipse
после добавления новых зависимостей в build.sbt
EDIT2: я думаю, что после Deadbolt вы хотите использовать систему play-authenticate, потому что Deadbolt не обеспечивает аутентификацию. Вы можете найти систему play-authenticate по адресу: https://github.com/joscha/play-authenticate.
С DeadBolt и системой play-authenticate мой build.sbt выглядит так:
name := "crud-test"
version := "1.0-SNAPSHOT"
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.com/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.com/snapshots/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("play-easymail (release)", url("http://joscha.github.com/play-easymail/repo/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("play-easymail (snapshot)", url("http://joscha.github.com/play-easymail/repo/snapshots/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("play-authenticate (release)", url("http://joscha.github.com/play-authenticate/repo/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("play-authenticate (snapshot)", url("http://joscha.github.com/play-authenticate/repo/snapshots/"))(Resolver.ivyStylePatterns)
libraryDependencies ++= Seq(
javaJdbc,
javaJpa,
"org.postgresql" % "postgresql" % "9.2-1003-jdbc4",
"org.hibernate" % "hibernate-entitymanager" % "3.6.9.Final",
"org.webjars" % "webjars-play_2.10" % "2.2.1" exclude("org.scala-lang", "scala-library"),
"org.webjars" % "bootstrap" % "3.1.0",
"be.objectify" %% "deadbolt-java" % "2.2-RC4",
"be.objectify" %% "deadbolt-scala" % "2.2-RC2",
"com.feth" %% "play-authenticate" % "0.5.0-SNAPSHOT"
)
play.Project.playJavaSettings
Попробуйте добавить это в свой файл build.sbt. Это решило проблемы, которые у меня были с зависимостями securesocial и postgresql:
resolvers += Resolver.url("sbt-plugin-releases", url("http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
Я не уверен, почему ты не видишь plugins.sbt
, но согласно документации 2.2.1, она должна быть там. http://www.playframework.com/documentation/2.2.1/Build
Чтобы добавить зависимости к plugins.sbt
, включите в файл следующие строки:
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.io/releases/"))(Resolver.ivyStylePatterns),
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.io/snapshots/"))(Resolver.ivyStylePatterns)
addSbtPlugin("be.objectify" %% "deadbolt-java" % "2.2-RC2")
addSbtPlugin("be.objectify" %% "deadbolt-scala" % "2.2-RC2")
Примечание. В зависимости от потребностей вашего проекта вам может понадобиться только один из двух плагинов.