有没有像gradle的插件4.4(fatJar)

时间:2018-02-02 09:56:20

标签: gradle

我正在尝试制作一个胖子然后移动它。影子插件在我身上失败,说无法找到插件。我正在努力创造一个胖子。

我有这个移动文件很好但它包含每个jar文件,我只想要一个大文件然后移动它:

task copyJarIntoDockerDirectory(type: Copy) {

    dependsOn jar
    from configurations.runtime
    from jar
    into '../docker/ekomi-import'
    rename '(.*)-[0-9]+\\..*.jar', '$1.jar'
    doFirst { println 'before copy' }
    doLast { println 'after copy' }
}

1 个答案:

答案 0 :(得分:1)

您可以在Gradle 3.0+中使用com.github.jengelman.gradle.plugins:shadow:2.0.2插件。您的最小build.gradle文件可能如下所示:

buildscript {
  repositories {
    jcenter()
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "com.github.jengelman.gradle.plugins:shadow:2.0.2"
  }
}

apply plugin: "com.github.johnrengelman.shadow"

task copyJarIntoDockerDirectory(type: Copy) {
  dependsOn shadowJar
  from 'build/libs/'
  into 'docker/ekomi-import'
}

在我的案例中,最终JAR被称为products-service-all.jar。我跑的时候:

gradle clean copyJarIntoDockerDirectory && tree docker

我在bash控制台中获得以下输出:

products-service [master●●●] % gradle clean copyJarIntoDockerDirectory && tree docker

BUILD SUCCESSFUL in 3s
5 actionable tasks: 5 executed
docker
└── ekomi-import
    └── products-service-all.jar

1 directory, 1 file

希望它有所帮助。