gpt4 book ai didi

groovy - 如何使任务调用主类

转载 作者:行者123 更新时间:2023-12-04 01:33:46 25 4
gpt4 key购买 nike

我想要做的是在 build.gradle 中创建一个任务,该任务将执行一个主类(具有 main 方法的类),但我不知道如何执行。

我做了一个测试项目来测试如何做到这一点。这是文件结构布局:

testProject/
build.gradle
src/main/groovy/hello/world/HelloWorld.groovy

这是 build.gradle 的内容:
apply plugin: 'groovy'
apply plugin: 'maven'

repositories {
mavenCentral()
}

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

task( hello, dependsOn: jar, type: JavaExec ) {
main = 'hello.world.HelloWorld'
}

下面是 HelloWorld.groovy 的内容:
package hello.world

class HelloWorld {
public static void main(String[] args) {
println "Hello World!"
}
}

这是我从 shell 得到的:
testProject>$ gradle hello
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:hello
Error: Could not find or load main class hello.world.HelloWorld
:hello FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':hello'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.232 secs

所以,我的问题是:我怎样才能制作 gradle hello工作?非常感谢。

最佳答案

经过一番谷歌搜索,我找到了解决方案。我唯一需要改变的是任务块。工作的粘贴如下:

task( hello, dependsOn: jar, type: JavaExec ) {
main = 'hello.world.HelloWorld'
classpath = sourceSets.main.runtimeClasspath
}

关于groovy - 如何使任务调用主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18195060/

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