我应该如何声明和导出模块?

时间:2011-08-31 18:32:30

标签: java playframework

我在我的应用中使用securecrud模块,我已按照tutorial中的说明将它们添加到application.conf中。但是,当我启动我的应用程序时,它会生成警告:

Declaring modules in application.conf is deprecated. Use dependencies.yml instead. (module.crud)

模块然后在开发模式下工作,但是当我部署到我的服务器(使用play war等)时, 我明白了:

13:55:40,662 WARN ~ Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.crud)

13:55:40,662 ERROR ~ Module crud will not be loaded because /var/lib/apache-tomcat-6.0.32/webapps/pat/WEB-INF/modules/crud does not exist

所以,有两个问题:为什么我的模块不会被导出,我如何在dependencies.yml中声明它们?我看过dependency page in the docs,我承认我并没有真正理解那里发生的事情。

谢谢!

2 个答案:

答案 0 :(得分:6)

在play 1.2+中设置模块的最简单方法是在创建应用时使用--with关键字。

例如

play new myapp --with crud,secure 

生成的dependencies.yml的输出是

# Application dependencies

require:
    - play
    - play -> secure
    - play -> crud

答案 1 :(得分:4)

好的,解决了。我添加了

- play -> crud
- play -> secure

到dependencies.yml,并删除了application.conf中的相关行。然后我运行play dependencies将模块复制到我的应用程序中。播放开始时没有任何警告,模块正确导出到WAR文件。我希望这有助于人们!