如果我想通过使用sourceSets.main.runtimeClasspath
类路径从Main类运行main,我必须将Main类放在src/main/java
中并使用类似的东西:
apply plugin: 'java'
dependencies {
}
task myTask (type: JavaExec){
dependsOn classes
classpath sourceSets.main.runtimeClasspath
main = 'Main'
}
我想要的是理解如何指定一个不同的类路径来从中检索包含main()的类。
如果我想从不在src / main / java中的类运行main,但它与build.gradle
在同一个文件夹中怎么办?
我知道做这样的事情是没有意义的,但我希望找到一个解决方案作为练习来学习Gradle。
答案 0 :(得分:4)
由于您仍然需要编译此类,并且该类不在标准src/main/java
目录中,您需要为该路径定义其他SourceSet
并使用相同的你所描述的方法:
sourceSets {
main {
custom {
srcDirs = ['custom/path']
}
}
}
task myTask (type: JavaExec){
dependsOn classes
classpath sourceSets.custom.runtimeClasspath
main = 'Main'
}