Java Play2.3:对象controllers.Map不是值

时间:2014-12-20 21:19:30

标签: java playframework playframework-2.0

使用Playframework 2.3.6和jdk1.8构建java应用程序

尝试编译我的应用程序时(使用"激活器〜运行"),会抛出以下错误:

/website/conf/routes:12: object controllers.Map is not a value
[error] GET     /assets/*file      controllers.Assets.at(path="/public", file)
[error] one error found
[error] (compile:compile) Compilation failed

我的路线文件如下:

# Home page
GET     /                       controllers.Application.home()
POST    /                       controllers.Application.resultsPage()

# Map static resources from the /public folder to the /assets URL path
GET     /assets/*file           controllers.Assets.at(path="/public", file)

我已经尝试在整个应用程序中调整内容并搜索网络,但是没有运气搞清楚什么似乎是一个相当基本的问题。不确定从哪里开始,所以如果需要更多信息,请告诉我。

更新:

我最接近"信息"在互联网上关于这一点,类似的对象地图不是一个价值"有人将Java Map函数导入scala文件时出现错误。虽然我在某些控制器中使用Map功能,但我无法看到与Scala冲突的地方或我导入地图的错误。

1 个答案:

答案 0 :(得分:0)

我有点解决了这个问题,它与我对scala地图功能的评论有关。

错误虽然指示了路由文件中的一行,但实际上是由框架编译的反向路由引发的(即routes_reverseRouting.scala)。那里有一张地图,无论出于什么原因,它都被读作java地图而不是scala地图。为了暂时解决这个问题,我将scala immutable map函数直接导入到ReverseAssets类中并进行编译(不幸的是,这是一个bandaid解决方案,就像你需要重新编译routes文件一样,它会覆盖它)。

我碰巧同时重构我的控制器,问题本身就消失了。