Play Framework:在没有子项目的情况下拆分多个文件中的路径

mem*_*njm 24 playframework playframework-2.0

我的游戏项目非常庞大,路线文件约为1Mb.现在,当scala编译时,由于路由和从我的路由文件创建的反向路由scala文件(也很大),我有"方法代码太大"的异常.

所以,我需要在没有子项目的情况下拆分我的路径文件.实际上,我不能将我的项目分成子项目,因为它的组件是相互依赖的.

我尝试了两种方法:

  • 我添加了一个名为technical.routes的新conf文件,在里面添加一些路由,从"routes"中删除相同的路由,然后用" - > technical.Routes"导入文件.所有内容编译,我没有先前的异常,但是有些事情是错误的,因为当它停止编译时,它会一遍又一遍地开始......并且永远不会结束.

  • 我添加了一个名为technical.routes的新conf文件,在里面添加一些路由,从"routes"中删除相同的路由,但是不是在我的主路由文件中导入它,我在conf文件中添加了它:"application.router =" routes,technical.routes"".但它不起作用,因为这里只能声明一条路线.

请问怎么办?

mem*_*njm 25

嗯,第一种方法是有效的.我从零开始,它起作用了.我在编译命令之前做了一个干净的命令.似乎旧的编译文件是我的问题的原因.

请注意,路径文件中的包名称不能重叠.例如,在此示例中,technical.routes文件包含所有路由,controllers.technical并且主路由文件不能包含controllers.technical包中的任何路由.

conf/routes 内容:

# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

->  /technical technical.Routes

GET     /        controllers.Dashboard.index()
Run Code Online (Sandbox Code Playgroud)

conf/technical.routes 内容:

# Routes
# ~~~~

GET     /        controllers.technical.App.index()
Run Code Online (Sandbox Code Playgroud)

  • 请注意,拆分路径文件必须进入他们自己的包中,否则您将收到错误(https://github.com/playframework/playframework/issues/4430).一个工作示例:https://github.com/Enalmada/play-beanstalk (4认同)