我看过this示例应用程序,我有兴趣在play 2应用程序上使用swagger。所以我在Build.scala中包含了依赖项,就像那个项目那样:
val appDependencies: Seq[sbt.ModuleID] = Seq(
"com.wordnik" %% "swagger-play2-utils" % "1.1.1")
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers := Seq(
"Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository",
Resolver.url("swagger-core-github-repo", url("http://wordnik.github.com/repository"))(Resolver.ivyStylePatterns),
"sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases",
"sonatype-snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
"java-net" at "http://download.java.net/maven/2",
"Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"))
但它给了我未解决的依赖。
我也尝试过:
"com.wordnik" % "swagger-play2-1.1.1" % "1.1.1"
因为我使用Play 2.1-RC1,但仍然没有找到它。
有谁知道我错在哪里(我想我上次尝试过这个错误了。)
答案 0 :(得分:3)
从Wordnik repo开始,似乎应该是:
"com.wordnik" % "swagger-play2_2.9.1" % "1.1.1"
但由于该模块是基于Play 2.0.x构建的,我不知道它是否适用于Play 2.1
答案 1 :(得分:3)
今天发布了swagger-core-1.2.0,现在已同步到maven central。因此,使用最新版本,您现在可以添加以下依赖项,并删除swagger-core-github-repo
:
"com.wordnik" %% "swagger-play2" % "1.2.0"
请注意,当前版本仅为scala 2.9.1
我们目前正在关注Play 2.1-RC1。如果您遇到特定问题,可以在IRC中点击#swagger或在github上提交错误消息吗?
更新
此分支支持播放2.1:
https://github.com/wordnik/swagger-core/tree/scala_2.10.0
并且可以使用sonatype:
我们将在播放2.1退出rc后推出发布版本。
答案 2 :(得分:3)
我不确定我是否将帖子放到了正确的问题上。我刚刚完成了从Play 2.2.3迁移到Play 2.3.10的项目,其中我正在努力使用Swagger 1.3.12与Play 2.3.10一起工作,我想分享我的研究并使其他人受益我从这里受益了。如果您尝试升级到swagger 1.3.12 ,则必须使用正确版本的反射库,即 0.9.8 ,否则它将无法正常工作。
原因是Swagger 1.3.12会自动引入反射0.9.9而 Play 会逐出它的旧版本。对我来说,版本0.9.9应该适用于新的招摇,但它并没有。经过几轮试验和错误,我发现版本0.9.8有效。正如我所说,旧版本将被逐出,所以你必须强迫它,你可以强制推出如下版本:
"org.reflections" % "reflections" % "0.9.8" force()
执行此操作后,我们的项目将成功编译并运行,并且正确显示Swagger API Doc页面。有关详细信息,请访问我的博客http://jackypig0906.wixsite.com/linghung/single-post/2016/10/06/Migrate-Play-22-to-Play-23。