Play 2 - 从Java类运行main()而不编译整个Play项目

时间:2015-08-26 15:13:40

标签: java playframework playframework-2.0 sbt typesafe-activator

我有50多个传统的Spring w / JPA域模型,我带入了一个新的Java Play应用程序来构建一个CRUD界面。在检查了几个选项之后,我决定编写一些代码,以便在对一组模板进行更改时生成50多个控制器和~50 * 5个视图文件。基本上我想在RoR中使用我曾经如何做的代码。我写这是一个可执行的Java类(即使用main())。

当我运行类时,它从persistence.xml读取模型名称,读取文本模板,然后用模型名称替换模板中的一些占位符#[modelName]#,以输出控制器和scala.html代码。这作为一个独立的项目工作正常,但我想将它带入我的Play项目,如何使它更方便快速迭代视图和控制器代码。我认为将此代码作为我的Play应用程序的模块并且能够将激活器提示符中的脚手架代码作为任务运行会很好,例如'activator scaffold'。 目前我在app / scaffold中的app /文件夹下有代码,当我使用'runMain scaffold.Scaffold'运行main时,它会在运行Scaffold main之前编译整个Play项目。这很好,但是由于新生成的控制器和视图代码中有错误,每当我想要压缩其中一个编译器错误而不先执行一些git命令来删除最后一组时,我就无法再次编译和运行Scaffold代码我脚手架。

该应用程序目前正在运行Play 2.3.0,但我们计划将Guice和Spring一起发挥得很好。

有没有办法将所有这些脚手架代码移动到模块然后只执行模块main()作为任务而无需编译和运行整个Play项目?或者是否有更好的想法如何做到这一点?我是Play,sbt和Scala的新手,请原谅我的无知。我尝试在build.sbt中创建一个''hello world'任务,根据sbt docs使用'lazy val hello = taskKeyUnit',但是在我尝试的时候抱怨说没有'hello'之类的任务叫它。

0 个答案:

没有答案