Gradle - игнорировать специальные банки из файла Jar

Я создаю проект, который создает файлы Jar из него, и я хотел, чтобы некоторые банки были исключены из окончательного файла, созданного из проекта.

Я пытаюсь, как показано ниже, хотя я дал предусмотренную Компиляцию, эти банки также включены в финальную банку.

Попытка с предоставленным Runtime, я получаю ошибку времени компиляции. также я хочу игнорировать банки, связанные с Tomcat, кто-нибудь может мне помочь?

apply plugin: "spring-boot"
apply plugin: "java"
apply plugin: "groovy"
apply plugin: "eclipse"
apply plugin: "idea"


repositories {
  mavenLocal()
  mavenCentral
}

configurations {
  providedCompile
  compile.extendsFrom providedCompile
}

jar {
  exclude ("*db/**")
}

dependencies {

  compile ("org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}") {
    exclude group:"org.springframework.boot", module: "spring-boot-starter-tomcat"
  }

  providedCompile "com.oracle:ojdbc6:11.2.0"
  providedCompile "javax.servlet:javax.servlet-api:${servletApiVersion}"

  // hc-commons jars
  providedCompile "com.test.hc-commons:hc-commons-exception:${hcCommonsVersion}"
  providedCompile "com.test.hc-commons:hc-commons-utils:${hcCommonsVersion}"
  providedCompile "com.test.hc-commons:hc-commons-typeconverters:${hcCommonsVersion}"
  providedCompile "com.test.hc-commons:hc-commons-mailing:${hcCommonsVersion}"

  compile ("org.springframework.boot:spring-boot-starter-velocity:${springBootVersion}") {
    exclude group:"org.springframework.boot", module: "spring-boot-starter-tomcat"
  }

}

Примечание: я пробовал с предоставленным плагином базы и другие предложения, приведенные в Google

Спасибо за вашу помощь

1 ответ

Решение

Я смог решить с помощью метода JAR, как показано ниже

jar {
  from {
        (configurations.runtime - configurations.providedCompile).collect {
            it.isDirectory() ? it : it
        }
    } 
}

этот метод jar создает простой jar, исключая предусмотренные jar-файлы компиляции, но задача сборки все еще добавляет jar. нужно использовать задачу 'jar'

Другие вопросы по тегам