我正在尝试使用gradle-grails-plugin来构建一个现有的(小)Grails项目。这有用吗? free
中的依赖项与build.gradle
中指定的依赖项之间的关系是什么?
无论如何,我有两个项目,所以最顶层的buildConfig.groovy
文件位于父目录中,如下所示:
build.gradle
然后Grails项目中的build.gradle看起来像:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.grails:grails-gradle-plugin:2.2.0.RC1"
}
}
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
但是,当我运行apply plugin: "grails"
repositories {
grails.central() //creates a maven repo for the Grails Central repository (Core libraries and plugins)
}
grails {
grailsVersion = '2.4.4'
groovyVersion = '2.3.9'
springLoadedVersion '1.2.0.RELEASE'
}
dependencies {
bootstrap "org.grails.plugins:tomcat:7.0.55.3"
compile 'org.grails.plugins:asset-pipeline:3.0.1'
compile 'org.grails.plugins:scaffolding:2.1.2'
compile 'org.grails.plugins:cache:1.1.8'
runtime 'org.grails.plugins:hibernate4:4.3.1.1'
runtime 'org.grails.plugins:database-migration:1.3.8'
runtime 'org.grails.plugins:jquery:1.11.0'
}
时,我会回来:
./gradlew war
有人可以对此有所了解吗?通过谷歌几乎没有提到这一点,它似乎是一个Grails 3.x类?另外,我使用的是Java 1.7。
答案 0 :(得分:1)
类grails.artefact.Service
确实可以从grails框架的v3.0中访问 - 可以看作here。
使用以下语句grailsVersion = '2.4.4'
指定使用v2.4.4并且它看起来都很好。破坏构建的是以下dependencies
条目:
compile 'org.grails.plugins:asset-pipeline:3.0.1'
在这个包中有一个类asset/pipeline/grails/AssetProcessorService
,用于导入在运行时未加载的提到的grails.artefact.Service
(可能是因为使用了v2.4.4)。
不幸的是,除了排除这种依赖之外,我不能提出任何解决方案。我不是Grails开发人员,也没有设置环境。
希望以某种方式提供帮助。