gpt4 book ai didi

java - 如何在compileJava之前执行 'JavaExec'类型的任务

转载 作者:行者123 更新时间:2023-11-30 09:16:08 26 4
gpt4 key购买 nike

在编译代码之前,我需要执行一个包含 main 方法的 java 类。到目前为止,这是我尝试过的:

task runSimple(type: JavaExec) {
main = 'jjrom.ObjectGen'
classpath = sourceSets.main.runtimeClasspath
File prop1 = file(propFilePath)
args '-sqlserver', '-force', prop1.path
println "I'm done executing."
}
compileJava {
dependsOn runSimple
}

当我使用命令“gradle compileJava”执行这个脚本时,我得到这个错误信息:

我执行完了。

失败:构建失败,出现异常。

出了什么问题:以下任务之间的循环依赖::classes --- :compileJava --- :runSimple --- :classes (*)

最佳答案

如果需要在编译代码之前执行这个类,不能给它classpath = sourceSets.main.runtimeClasspath。后者包括编译后的代码,因此 Gradle 会自动推断 runSimple.dependsOn compileJava,它与您的 compileJava.dependsOn runSimple 一起提供循环任务依赖性。 (准确地说,Gradle 推断出 runSimple.dependsOn classes,而后者又依赖于 compileJava。)

关于java - 如何在compileJava之前执行 'JavaExec'类型的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19529817/

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