我知道,如果我想从 Main 类运行 main,通过使用 sourceSets.main.runtimeClasspath
类路径,我必须将 Main 类放在 src/main 中/java
并使用类似:
apply plugin: 'java'
dependencies {
}
task myTask (type: JavaExec){
dependsOn classes
classpath sourceSets.main.runtimeClasspath
main = 'Main'
}
我想要的是了解如何指定不同的类路径,从中检索包含 main() 的类。
如果我想从一个不在 src/main/java 中但与 build.gradle
位于同一文件夹中的类运行 main,该怎么办?
我知道这样做是没有意义的,但我希望找到一个解决方案作为练习来学习 Gradle。
最佳答案
由于您仍然需要编译此类,并且该类不在标准 src/main/java
目录中,您将需要定义额外的 SourceSet
到该路径并使用与您描述的相同的方法:
sourceSets {
main {
custom {
srcDirs = ['custom/path']
}
}
}
task myTask (type: JavaExec){
dependsOn classes
classpath sourceSets.custom.runtimeClasspath
main = 'Main'
}
关于gradle - 如何在Gradle中设置JavaExec任务的主类类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39063659/