【发布时间】:2017-07-04 17:04:18
【问题描述】:
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?
【问题讨论】:
-
您使用的是Java plugin (
apply plugin: 'java') 还是Java Library plugin (apply plugin: 'java-library')? -
java 库。 compile project(":foo") 不会强制构建 jar。
标签: gradle runtime classpath javaexec-gradle-plugin