无法找到play.filters包

时间:2015-10-29 19:14:29

标签: playframework playframework-2.0 cors

我在this页面上提到的play框架应用程序中添加了过滤依赖项,但是在clean - rebuild中,我的项目仍无法检测到play.filters ...包,它导致编译错误。

我错过了一些非常基本的东西吗?

3 个答案:

答案 0 :(得分:1)

这也发生在我的过滤器库中,特别是"com.typesafe.play" % "filters-helpers_2.11" % "2.4.2"依赖项。 它应该来自Maven2 repoTypesafe Releases repo。这两个都隐含在SBT的build.sbt文件中,因为它们是predefined repos in SBT

我的公司使用SSL证书做各种奇怪的事情(他们基本上重新签名)。对于我的情况,我认为真正的问题是激活器不信任证书,因为公司代理/防火墙搞砸了它。我能够通过告诉激活器不使用JVM参数检查证书是否可信来修复它。

要在禁用证书检查的情况下输入激活器shell,只需键入:

activator -Dcom.sun.net.ssl.checkRevocation=false

然后你可以像往常那样compilerun,而且即使不是通过可信连接,激活器/ SBT也应该下载依赖项。

注意:我只会这样做很少将一个麻烦的依赖项下载到我的本地缓存中。没有证书检查运行激活器有点不安全,因为下载不受信任的依赖项可能会让您对木马/ MITM攻击开放。

答案 1 :(得分:0)

“clean - rebuild” - 你在使用Eclipse吗?

如果是,那么将eclipse插件添加到播放中(在plugins.sbt文件中):

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.3")

然后添加到build.sbt下一个设置:

// Eclipse settings

// Compile the project before generating Eclipse files,
// so that generated .scala or .class files for views and routes are present
EclipseKeys.preTasks := Seq(compile in Compile)

// Java project. Don't expect Scala IDE
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java

// Use .class files instead of generated .scala files for views and routes
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)

// End of eclipse settings

然后运行activator eclipse

答案 2 :(得分:0)

这似乎是进口中的错误。我在Eclipse中自动安排了导入,从我的Java类中删除了以下import语句:

导入play.filters.cors.CORSFilter

由于导入不存在,即使激活器在构建时下载依赖项,也无法找到CORSFilter类,因为Eclipse在安排导入时删除了它。我再次添加了导入,虽然它在Eclipse中给出了错误,但找不到play.filters.cors包,但正如预期的那样,它在构建时工作正常。

这看起来很愚蠢,但很难找到,所以如果其他人在将来遇到同样的问题,请在这里分享。