Теперь это может быть немного странно, но выслушайте меня.
Мне нужно включить некоторые файлы jar (как они есть, не распаковывая их) в файл jar, который я генерирую с помощью gradle.
Мне это нужно, чтобы я мог распаковать их при необходимости позже. (Почему именно мне нужна другая история, которая здесь не актуальна.)
Теперь у меня так:
configurations {
slf4j
}
dependencies {
slf4j "org.slf4j:slf4j-api:${slf4j_version}"
slf4j "org.slf4j:slf4j-jdk14:${slf4j_version}"
}
jar {
from(project.configurations.slf4j.files) {
into ("slf4j_jars")
}
}
Это работает почти, но с этим gradle распаковывает файлы jarпоэтому файлы классов сами заканчиваются в моем банке, а не в банках SLF4J, как мне хотелось бы.
И файлы банок должны заканчиваться в папке slf4j_jars
внутри моего баночка.
Обновление:
configurations {
slf4j
}
dependencies {
slf4j "org.slf4j:slf4j-api:${slf4j_version}"
slf4j "org.slf4j:slf4j-jdk14:${slf4j_version}"
}
processResources {
from(project.configurations.slf4j.files) {
into ("slf4j_jars")
}
}
Так же, как и размещение файлов непосредственно в папке src/main/resources/slf4j_jars
.
По какой-то причине Gradle всегда распаковывает файлы jar.
ТакжеЯ использую Gradle 4.10.3 и, к сожалению, не могу перейти на любую версию 5.xx.
Обновление 2:
Мне удалось, по крайней мере, получить сами файлы с этим:
configurations {
slf4j
}
dependencies {
slf4j "org.slf4j:slf4j-api:${slf4j_version}"
slf4j "org.slf4j:slf4j-jdk14:${slf4j_version}"
}
processResources {
from(project.configurations.slf4j.files) {
into "slf4j_jars"
rename '(.*).jar', '$1.zip'
}
}
Теперь они были переименованы в .zip
файлы, которые я могу обойти.