【发布时间】:2013-02-08 01:00:14
【问题描述】:
迁移到 Play-2.1 后,我遇到了路由编译器停止为我的路由文件工作的问题。 Play-2.0.4 完全没问题,但现在我遇到了构建错误,找不到任何解决方法。
在我的项目中,我使用的是蛋糕模式,因此控制器操作不是通过<package>.<controller class>.<action> 可见,而是通过<package>.<component registry>.<controller instance>.<action>。新的 Play 路由编译器正在使用除最后两个之外的所有操作路径组件来形成将在托管源中使用的包名称(据我所知,https://github.com/playframework/Play20/blob/2.1.0/framework/src/routes-compiler/src/main/scala/play/router/RoutesCompiler.scala 中的代码)。在我的例子中,当<package>.<component registry>被选为包名时,会导致构建过程中出现错误:
[error] server/target/scala-2.10/src_managed/main/com/grumpycats/mmmtg/componentsRegistry/routes.java:5: componentsRegistry is already defined as object componentsRegistry
[error] package com.grumpycats.mmmtg.componentsRegistry;
我制作了示例项目来演示这个问题:https://github.com/rmihael/play-2.1-routes-problem
是否有可能以某种方式解决此问题而无需删除控制器的蛋糕模式?由于这个问题,很遗憾我无法继续使用 Play 2.1。
【问题讨论】:
标签: scala playframework-2.1 cake-pattern