2013-02-14 48 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