2013-02-14 83 views
2

我正在寻找一种方法来从命令行为mavenized grails 2.1.0项目(即。grails-maven-plugin 2.1.0)运行“generate-controller”。我曾尝试以下:如何使用maven在命令行运行grails generate-controller?

  • mvn grails:generate-controller - 运行这个时,我得到一个错误说“java.lang.IllegalStateException:不启用用户输入,无法获得输入流”。出于某种原因,grails似乎无法从控制台读取(以获取域类的名称)。
  • mvn grails:exec "grails:generate-controller" - 这导致了org.codehaus.groovy.grails.cli.ScriptNotFoundException

是否有指定名称的方式通过命令行参数 - 即。像mvn generate-controller -DclassName=my.domain.class.name

回答

6

这不一定直观,但一般来说mvn grails:help很有用。

有关创建域类和控制器

mvn grails:help -Ddetail=true -Dgoal=generate-controller 
mvn grails:help -Ddetail=true -Dgoal=create-domain-class 

样域类和控制器每个评论

UPDATE收到帮助:如果你碰巧使用微软Windows,请注明

-DdomainClassName以下的参数值。

mvn grails:create-domain-class -DdomainClassName=com.example.Test 
mvn grails:generate-controller -DdomainClassName=com.example.Test 

[更新]

明目张胆的广告,但我会很快建立对Maven和Grails集成第二个视频,你不是唯一一个有类似的问题。第一个可以找到here,非常通用的和初学者。

希望它有帮助。

+0

+2的答案和“这里是帮助自己”的地方,用'grails:help'。错过了[Grails文档](http://grails.org/doc/2.1.0/guide/commandLine.html#antAndMaven) – GreenGiant 2013-02-14 17:06:41

+0

中的小小注释对于我来说,使用命令'mvn grails:create-domain-class -DdomainClassName = “com.example.Test”'。没有''''我在控制台中有一些错误;)(Windows PowerShell,Grails 2.4.2,Maven 3.2.2) – akn 2014-07-21 19:06:33