Play Framework:如何更改播放默认包?

时间:2011-01-27 12:23:46

标签: java playframework

我只是想知道是否可以从Play更改默认包。例如:我想将“controllers”包更改为“com.test.controllers”。我不知道这是否有意义,但我只是想知道如果可能的话。我在游戏网站上找不到与此相关的任何内容。

4 个答案:

答案 0 :(得分:20)

根据current Play 2.0文档,现在可以实现:

  

请注意,在Play 2.0中,控制器,模型和视图包名称约定现在就是这样,并且可以根据需要进行更改(例如使用com.yourcompany为所有内容添加前缀)。

这适用于空的Play应用程序,但有一些细节需要注意其他任何内容:

  1. 将自定义命名空间导入视图模板将适用于除模板第一行中声明的那些类型之外的任何类型,这些是scala render 函数的参数。视图。我们的解决方法是在第一行视图模板中将完整包名添加到类型声明中。
  2. 对于routes文件中定义的每个命名空间(例如自定义包和Assets路由的默认包),Play 2.0会在同一命名空间中生成相应的路由源文件,因此您需要注意寻找正确的文件例如做重定向。

答案 1 :(得分:13)

来自manual

  

必须在中定义Controller类   控制器包必须   是一个子类   的 play.mvc.Controller

     

您可以在之前添加Java包   控制器类名称,如果不是   直接在控制器下定义   包。 控制器包   本身是隐含的,所以你不需要   指定它。

这意味着您无法将controllers包更改为com.test.controllers(因为根包必须为controllers),但您可以更改为controllers.com.test。< / p>

答案 2 :(得分:5)

已更新,以区分play1和2。

对于Play 1.x,这是不可能的。

不,所有控制器必须位于包或控制器的子包中。 如果您想保留com.test包结构,可以执行controllers.com.test

有关详细信息,请see this thread.

对于Play2.x,这是可能的。

所以简单的答案是......这取决于您正在使用的Play版本。

答案 3 :(得分:1)

讨论了这个here

常见问题解答中还有this