Задать вопрос
@defcore

Как отправить классы некоторых (не всех) библиотек в бинарник в Gradle?

Изначально мне нужно было, чтобы в бинарнике моего проекта лежали помимо моих классов, еще и классы некоторых библиотек.
Нашел такое решение для Gradle:
jar {
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

Но мне такое не подходит, т.к. эта строчка отправляет классы абсолютно всех библиотек, что я использую, в бинарник и получается помойка.
Так вот, к сути вопроса: как мне отправить классы только одной библиотеки в мой бинарник? Например, классы библиотеки json-simple (com.googlecode.json-simple', name: 'json-simple', version: '1.1.1)
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Хекслет
    Java-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Может так?
jar {
  from {
    configurations.compile.resolvedConfiguration.resolvedArtifacts.findAll {
      it.moduleVersion.id.with { it.group == 'com.googlecode.json-simple' && it.name == 'json-simple' }
    } collect {
      it.file.with { it.isDirectory() ? it : zipTree(it) }
    }
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы