Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用gradle应用程序插件使用重新打包的spring boot jar创建发行版_Java_Spring_Gradle_Spring Boot - Fatal编程技术网

Java 使用gradle应用程序插件使用重新打包的spring boot jar创建发行版

Java 使用gradle应用程序插件使用重新打包的spring boot jar创建发行版,java,spring,gradle,spring-boot,Java,Spring,Gradle,Spring Boot,有没有办法将gradle配置为只包含重新打包的spring boot jar(by)和其他资源(例如启动脚本),而不包含其他依赖项jar(因为它们已经由boot gradle插件重新打包)?使用spring boot gradle插件,下面是一个build.gradle示例: ext { mainClassName = 'com.x.x' } springBoot { mainClass = 'com.x.x' layout = 'ZIP' } task genera

有没有办法将gradle配置为只包含重新打包的spring boot jar(by)和其他资源(例如启动脚本),而不包含其他依赖项jar(因为它们已经由boot gradle插件重新打包)?

使用spring boot gradle插件,下面是一个build.gradle示例:

ext {
    mainClassName = 'com.x.x'
}

springBoot {
    mainClass = 'com.x.x'
    layout = 'ZIP'
}

task generateExecutableJar(type: Jar) {
    appendix = 'boot'
    from sourceSets.main.output
}

task repackage(type: BootRepackage, dependsOn: generateExecutableJar) {
    executable = true
    customConfiguration = 'customDependencies'
    withJarTask = generateExecutableJar
}

configurations {
    customDependencies
}

基本上,是的,这是可能的。提供一个例子。@Opal,现在,在执行
gradlebuild
之后,我在
build/libs
处有一个重新打包的jar,在
build/distributions
处有一个tar/zip以及所有依赖项。我只想在tar/zip中只重新打包jar,而不需要不必要的依赖项。boot gradle插件是否会生成应用程序插件生成的工件,而您有重复的工件?