Gradle / Grails 应用程序
Posted
技术标签:
【中文标题】Gradle / Grails 应用程序【英文标题】:Gradle / Grails application 【发布时间】:2012-08-15 04:08:24 【问题描述】:几个小时以来,我一直在尝试配置 Gradle 来管理 Grails 项目,但没有成功。我在 Stack Overflow 和 Internet 上的其他地方找到的建议对我不起作用。
能否请您提供有关如何配置 Gradle+Grails 项目的最新说明?理想情况下,它应该与 Grails (2.1.0) 和 Gradle (1.1) 的当前版本相关。
【问题讨论】:
你试过这个吗:github.com/grails/grails-gradle-plugin 我已经尝试过它和 grails 1.3.5 前一段时间,它有很多错误,但现在处理 2.x 版本和起来。 【参考方案1】:构建脚本
import org.grails.gradle.plugin.GrailsTask
buildscript
repositories
mavenCentral()
mavenRepo name: "grails", url: 'http://repo.grails.org/grails/repo'
dependencies
classpath "org.grails:grails-gradle-plugin:1.1.1-SNAPSHOT"
repositories
mavenCentral()
mavenRepo name: "grails", url: 'http://repo.grails.org/grails/repo'
version = "1.0"
grailsVersion = "2.1.0"
apply plugin: "grails"
dependencies
['dependencies', 'resources', 'core', 'hibernate', 'plugin-datasource', 'plugin-domain-class', 'plugin-tomcat', 'plugin-services'].each plugin ->
compile "org.grails:grails-$plugin:2.1.0"
bootstrap "org.codehaus.groovy:groovy-all:1.8.6"
GRAILS_TASK_PREFIX = "grails-"
if (name.startsWith(GRAILS_TASK_PREFIX))
project.task(name, type: GrailsTask)
command "$name - GRAILS_TASK_PREFIX"
初始化
然后就可以gradle init
初始化项目结构了
命令
使用gradle grails-[grails script]
执行您的grails 命令。例如:gradle grails-run-app
等价于grails run-app
希望这会有所帮助!
更新
这似乎适用于 Grails 2.3.2:
buildscript
repositories
mavenCentral()
maven url 'http://repo.grails.org/grails/repo'
dependencies
classpath "org.grails:grails-gradle-plugin:2.0.0-SNAPSHOT"
repositories
mavenCentral()
maven url 'http://repo.grails.org/grails/repo'
version = "1.0"
apply plugin: "grails"
apply plugin: 'idea'
grails
grailsVersion = "2.3.2"
dependencies
['dependencies', 'core', 'spring', 'web', 'plugin-datasource', 'plugin-domain-class', 'plugin-controllers', 'plugin-services'].each plugin ->
compile "org.grails:grails-$plugin:2.3.2"
compile 'org.grails.plugins:tomcat:7.0.42'
compile 'org.grails.plugins:hibernate:3.6.10.3'
compile 'com.h2database:h2:1.3.173'
bootstrap "org.codehaus.groovy:groovy-all:2.1.9"
注意,生成 Grails 包装器时会引发异常,但 gradle init
似乎在其他情况下正确初始化项目结构。而且,gradle grails-run-app
似乎也可以正常工作。
【讨论】:
这对我来说失败了。当我将引导程序“org.codehaus.groovy:groovy-all:1.8.7”更改为 1.8.6 时,它可以工作... 这似乎不适用于带有gradle grails-create-domain-class x.y.Z
等参数的 grails 命令
@C.Ross, gradle grails-create-domain-class -PgrailsArgs=mydomain.Person
这对于 Grails 插件是否也适用?我一直在尝试将它用于 liquibase 迁移插件,例如但./gradlew grails-dbm-list-locks
回复Task 'grails-dbm-list-locks' not found in root project 'aps-metrics'.
以上是关于Gradle / Grails 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Gradle 会降级 Grails 3.1 应用程序中的传递依赖项?
如何在 Grails 3 Gradle 项目中控制 H2 驱动程序版本?
GRAILS ---命令 grails war 和 gradle build 有啥区别?
使用“gradle test”测试 Grails 3 应用程序使用错误的环境配置
初始化类路径时出错:找不到与 services.gradle.org 匹配的主题备用 DNS 名称。 -> 运行 grails 3.0.1 应用程序时