【发布时间】:2017-06-29 09:33:23
【问题描述】:
我们正在尝试在 grails 3 中启动并运行一个新项目。
我们就这样创建了一个项目:
grails create-app plugin-domain --profile=plugin
现在遵循文档here,在第 4.1 节创建一个域类,它说要这样做:
./grailsw create-domain-class Vehicle
当我们对我们的领域类执行此操作时,我们得到:
"could not determine grails wrapper version due to missing gradle.properties"
我们不知道 grailsw 是什么(我们习惯于在 2.5 中使用“grails”),我们不知道 gradle.properties 应该包含什么,也不知道为什么它不是由 grails 自动构建的。
显然这是一个插件(旨在仅保存域对象和服务),而不是应用程序,因此我们不能直接使用 run-app 运行它。
有趣的是,我们只是尝试了旧方法,使用“grails create-domain-class xxx”并且它成功了,所以问题是为什么推荐的 grailsw 命令不起作用,我们如何解决它?
做一些调查,grailsw 是某种不需要安装 grails 的包装器。任何运行诸如 create-domain-class 之类的东西的人都会安装 grails,所以我们不太明白它的意义吗?这将导致 grails 至少安装两次,一次是正确的方式,第二次是由包装系统安装。包装器的用例是什么?在生产中,你会放弃对 tomcat 或类似的战争,在开发中,所有开发人员都将安装 grails。我们可以忽略 grailsw,还是需要修复它?
【问题讨论】: