2013-11-12 2 views
8

Я бы хотел попробовать Deadbolt. Каковы шаги по его установке на новой версии Play Framework 2.2.1? То, что я нашел, это преобразователи и зависимостиhere. Но где я должен поставить решателей? Я не хочу использовать Build.scala (в Play 2.2 есть build.sbt)НЕПРЕРЫВНЫЕ ЗАВИСИМОСТИ установка Deadbolt на платформе воспроизведения 2.2.1

И here является строка о плагин. Куда он идет? В моем проекте нет plugins.sbt и не знаю, предпочитает ли играть 2.2 в другом месте.

EDIT:

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 
+0

Почему вы избежать Build.scala? Кроме того, вы уверены, что нет plugins.sbt? В документации 2.2 говорится, что она должна быть там. –

+0

Не нужно отвечать на мой вопрос на 'Build.scala'. Посмотрев документацию, я вижу, что она была заменена. Для вашей проблемы не иметь 'plugins.sbt', вы можете попробовать добавить файл в каталог project /. –

ответ

0

Я не уверен, почему вы не видите 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") 

Примечание: В зависимости от потребностей вашего проекта, вам может понадобиться только один из двух плагинов.

+0

Возможно, вам придется добавить и резольверы. Я отредактирую свой ответ, чтобы включить синтаксис для их добавления. –

+0

спасибо. я сомневаюсь: 'addSbtPlugin (string_here)' эквивалентно для этого: 'libraryDependencies ++ = Seq (string_here)' в файле build.sbt? –

+0

Это правильно. В файле сборки создается Seq, а затем addSbtPlugin (или аналогичная функция) применяется к каждому элементу в Seq. –

1

Попробуйте добавить это в свой файл build.sbt. Он решены вопросы у меня был с securesocial и PostGreSQL зависимостей:

resolvers += Resolver.url("sbt-plugin-releases", url("http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns) 
9

Dont добавить что-нибудь к 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" 
) 

Во время написания им, используя игру 2.2.1 и мою сборку.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. 
... 

EDIT: Не забудьте сделать play reload и play eclipse после добавления новых зависимостей в build.sbt

EDIT2: Я предполагаю, что af ter Deadbolt вы хотите использовать систему проверки подлинности, потому что Deadbolt не обеспечивает аутентификацию. Вы можете найти систему аутентификации воспроизведения: https://github.com/joscha/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 
+0

Ваш ответ кажется хорошим, я попробую его в следующий раз. благодаря –

Смежные вопросы