我以这种方式设置应用程序加载器:
class MyProjectApplicationLoader extends ApplicationLoader {
def load(context: Context): Application = new ApplicationComponents(context).application
}
class ApplicationComponents(context: Context) extends BuiltInComponentsFromContext(context)
with QAControllerModule
with play.filters.HttpFiltersComponents {
// set up logger
LoggerConfigurator(context.environment.classLoader).foreach {
_.configure(context.environment, context.initialConfiguration, Map.empty)
}
lazy val router: Router = {
// add the prefix string in local scope for the Routes constructor
val prefix: String = "/"
wire[Routes]
}
}
但我的路线是自定义的,所以它看起来像:
routes
文件:
-> /myApi/v1 v1.Routes
-> /MyHealthcheck HealthCheck.Routes
和我的v1.Routes
文件:
GET /getData controllers.MyController.getData
所以现在当我编译项目时,我收到了这个错误:
错误:找不到类型的值:[v1.Routes] 线[路线]
所以我不知道如何解决这个问题,是否有人知道如何让加载程序与这种路径结构一起工作?
答案 0 :(得分:4)
@marcospereira的回答是正确的,但也许代码有些错误。
错误是由引用routes
的{{1}}文件引起的 - 这被编译为v1.routes
类,其参数类型为Routes
。
您可以在v1.Routes
和target/scala-2.12/routes/main/router
中看到生成的代码。
因此,要连接/v1
,您需要一个Router
实例。要创建v1.Router
r实例,首先需要连接它。
以下是修复上述示例的一种方法:
v1.Route
答案 1 :(得分:1)
您还需要连接<ul id="nav">
<li class="current"><a href="#">Test</a></li>
<li><a href="#">Musik</a>
<ul>
<li><a href="#">Test</a></li>
<li><a href="#">Test</a>
<ul>
<li><a href="#">Test</a></li>
</ul>
</li>
</ul>
</li>
</ul>
。请在此处查看如何手动完成:
这应该按照您的预期运作:
v1.Routes
ps。:没有在真实项目中测试它。