Невозможно установить тип shadowJar для задачи gradle
Я использую Gradle v3.4 и shadowjar v1.2.4. Я добавил следующую задачу, но я получаю сообщение об ошибке ниже при выполнении этого. Я добавил задачу типа ShadowJar, чтобы можно было создавать разные файлы jar из одного проекта.
Shadowjar отлично работает для меня вне контекста этой задачи.
Gradle
task someJar(type: ShadowJar) {
group = "shadow"
description = "some executable jar"
mainClassName = 'com.some.client.SomeClient'
main = 'com.some.client.SomeClient'
manifest.attributes 'Main-Class': 'com.some.client.SomeClient'
classifier = 'someClient'
from(project.convention.getPlugin(JavaPluginConvention).sourceSets.main.output)
configurations = [project.configurations.runtime]
exclude('META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA')
}
ошибка при использовании stacktrace
Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'ShadowJar' for root project 'someporject' of type org.gradle.api.Project.
at org.gradle.internal.metaobject.AbstractDynamicObject.getMissingProperty(AbstractDynamicObject.java:85)
at org.gradle.groovy.scripts.BasicScript.getProperty(BasicScript.java:81)
at build_2cp7m6fw08pxyu0f84a6pva88.run(/Users/continue/git/iso20022/build.gradle:202)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
2 ответа
Решение
Указание типа com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar вместо ShadowJar решило проблему для меня.
task someJar(type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) {
Это также будет работать:
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
task someJar(type: ShadowJar) {
// ...
}