我暂时的解决办法是:
- 使用Grails/gradle这个插件来构建Grails的项目。
- 使用此插件来运行我的grails应用程序,即。 gradle grails-run-app。
- 挂钩gradle中的grails-run-app任务(即时创建)来调用构建并将依赖项复制到lib目录中的任务。
这不会帮助IntelliJ整个负载,但我会运行我的gradle任务作为IntelliJ运行配置。
我的build.gradle如下(相关项目正在震动,放在LIB在这个例子中):
import org.grails.gradle.plugin.GrailsTask
evaluationDependsOn(':dependent-project')
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'
}
ext {
version = "1.0"
grailsVersion = "2.2.0.RC2"
grailsTaskPrefix = "grails-"
}
apply plugin: "grails"
dependencies {
['dependencies', 'resources', 'core', 'test', 'hibernate', 'plugin-datasource', 'plugin-domain-class', 'plugin-tomcat', 'plugin-services'].each { plugin ->
compile "org.grails:grails-$plugin:2.2.0.RC2"
}
bootstrap "org.codehaus.groovy:groovy-all:2.0.5"
}
// Get hold of the grails-run-app task (which is created on the fly) and add a dependency to the copyDependencies task
project.gradle.afterProject { p, ex ->
if (p == project) {
project.tasks.addRule("Grails dependencies") { String name ->
if (name.startsWith(grailsTaskPrefix)) {
tasks.getByName(name).dependsOn(copyDependencies)
}
}
}
}
// Build and copy any dependent jar files...
task copyDependencies(type: Sync) {
from project(':dependent-project').configurations.archives.allArtifacts.files
into "$projectDir/lib"
}
感谢您的建议......我已经贴现的本地本地安装依赖的想法MAV因为我认为这是一个额外的步骤,如果罐子频繁更换会很烦人。我是否认为每次进行更改时,都必须增加存储库和grails项目中的版本以迫使其从存储库重新下载? –