Gradle Как включить зависимости runtimeOnly в путь к классам JavaExec?
Gradle Как включить зависимости runtimeOnly в путь к классам JavaExec? Например,
подпроект 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, который является зависимостью runtimeOnly для проекта foo.
configurations.runtime не содержит зависимости runtimeOnly hello.jar. Если я изменил зависимость runtimeOnly как api-зависимость в проекте foo, она будет работать.
classpath = configurations.runtime + configuration.runtimeOnly
Ошибка: runtimeOnly не может быть явно разрешена. Как добавить hello.jar в путь к классам JavaExec?
1 ответ
Решение
runtime
а также runtimeOnly
предназначены для объявления зависимостей. Чтобы использовать зависимости, вы должны использовать конфигурацию runtimeClasspath
согласно документам на https://docs.gradle.org/current/userguide/java_library_plugin.html.