2016-06-19 4 views
0

Wenn ich create-controller in der Befehlszeile oder in IntelliJ verwende, wird defaultPackage ignoriert. Stattdessen wird der Controller (oder eine Dienstleistung, etc.) in platziert '@ artifact.package.path @':Grails defaultPackage ignoriert?

| Enter a command name to run. Use TAB for completion: 
grails> create-controller ThingController 
| Created grails-app/controllers/@[email protected]/ThingController.groovy 
| Created src/test/groovy/@[email protected]/ThingControllerSpec.groovy 

Ich bin nicht sicher, ob dies ein Fehler in meinem Code oder Grails ist, vielleicht, weil ich bewegt config application.yml application.groovy:

grails{ 
    profile = 'web' 
    codegen{ 
     defaultPackage = 'com.madeupname.web' 
    } 
    spring { 
     transactionManagement { 
      proxies = false 
     } 
    } 
} 

Vielleicht ein Tippfehler gibt es ich bin blind? Ich verwende Grails 3.1.7 auf JDK 8.

Antwort

1

Dies funktioniert, wenn Sie die Eigenschaft in grails-app/conf/application.yml definieren.

--- 
grails: 
    codegen: 
     defaultPackage: com.madeupname.web 
+0

Hallo Jeff, danke für deine Antwort. Ich war unter dem Eindruck von Ihrem Vortrag und den Dokumenten (die YAML als "ein alternatives Format" beschreiben), dass Sie alles in Anwendung bringen konnten.groovy, und ich weiß, dass andere dies versuchen. Ist das nicht der Fall? Wenn ja, gibt es eine definitive Liste von Config-Parametern, die in application.yml vorhanden sein müssen, um wirksam zu werden? – Philip

+0

Ich würde YAML nicht als Alternative beschreiben. Wenn ich das in einem meiner Gespräche sagte, habe ich falsch gesprochen. Ich würde Groovy als Alternative betrachten, da YAML der Standard ist. Es scheint, dass ein Problem mit dieser speziellen Einstellung (möglicherweise anderen) in 'application.groovy' definiert ist, zumindest in einigen Kontexten. Das Beispiel, das ich oben gezeigt habe, ist ein einfacher Workaround. Wenn es Dinge gibt, die nicht in 'application.groovy' funktionieren, können Sie ein Problem melden und wir können es uns ansehen. –

+0

Tut mir leid, Jeff, du und die Docs haben klargestellt, dass YAML die Standardeinstellung ist, aber es hörte sich an, als würden viele Leute Application.roovy bevorzugen. Und dieser Wortlaut des "alternativen Formats" stammt direkt aus den Dokumenten, was mich zu der Annahme brachte, dass dort alles funktionieren würde. Ich werde ein Problem hinzufügen, vielleicht brauchen nur die Dokumente eine Korrektur. Danke noch einmal. – Philip