Gradle如何在JavaExec类路径中包含runtimeOnly依赖项?

时间:2017-07-04 17:04:18

标签: gradle runtime classpath javaexec-gradle-plugin

Gradle如何在JavaExec类路径中包含runtimeOnly依赖项? 例如,

子项目foo:

dependencies {
    runtimeOnly files('libs/hello.jar')
}

子项目栏:

dependencies {
    compile project(':foo')
}

task execHello(type: JavaExec, dependsOn: 'compileJava') {      
     classpath = configurations.runtime         
     main 'myPackage.Hello'
}

主类myPackage.Hello在libs / hello.jar中定义,它是项目foo的runtimeOnly依赖项。

configurations.runtime不包含runtimeOnly依赖项hello.jar。如果我在项目foo中将runtimeOnly依赖项更改为api依赖项,它将起作用。

classpath = configurations.runtime + configuration.runtimeOnly

错误:无法显式解析runtimeOnly。如何在JavaExec类路径中添加hello.jar?

1 个答案:

答案 0 :(得分:3)

runtimeruntimeOnly用于声明依赖项。要使用依赖项,您应该根据https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph上的文档使用配置runtimeClasspath