gpt4 book ai didi

groovy - 在Gradle构建中使用Groovy类

转载 作者:行者123 更新时间:2023-12-04 04:59:27 24 4
gpt4 key购买 nike

我正在尝试从build.gradle文件中运行Groovy类。我遵循the use guide中的指示,但是出现错误。

构建文件为:

apply plugin: 'java'
apply plugin: 'groovy'

main {
java {
srcDirs = ["$projectDir/src/java"]
}
groovy {
srcDirs = ["$projectDir/src/groovy"]
}
}

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.0', files(....)
}

task fooTask << {
groovyClass groovyClass = new groovyClass()
groovyClass.foo()
}

常规类非常简单:
    public class groovyClass {

public void foo() {
println 'foo'
}
}

但是,当我尝试运行 gradlew编译fooTask 时,出现以下错误:

无法解析类groovyClass

知道为什么吗?

谢谢

最佳答案

如果要从构建中引用该类(而不是在简单的Exec任务中),则需要将该类添加到buildSrc中。给定此目录结构:

|-buildSrc
| |- src
| |- main
| |- groovy
| |- GroovyClass.groovy
|- build.gradle

其中 GroovyClass.groovy是:
class GroovyClass {
void foo() {
println 'foo'
}
}
build.gradle是:
apply plugin: 'groovy'

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.1'
}

task fooTask << {
GroovyClass g = new GroovyClass()
g.foo()
}

然后,运行 gradle fooTask给出输出:
$ gradle fooTask
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
:fooTask
foo

BUILD SUCCESSFUL

Total time: 4.604 secs

关于groovy - 在Gradle构建中使用Groovy类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com