Spring Boot 2.5.0 生成 plain.jar 文件。我可以删除它吗?

新手上路,请多包涵

在 Spring Boot 2.5.0 更新后,它会生成 myprogram-0.0.1-plain.jar 文件以及通常的 myprogram-0.0.1.jar 文件。我可以禁止 gradle 生成 *.plain.jar 文件吗?我使用 Gradle 7.0.2。

我得到什么:

 build/
  libs/
    myprogram-0.0.1.jar
    myprogram-0.0.1-plain.jar

我想要的是:

 build/
  libs/
    myprogram-0.0.1.jar

构建.gradle:

 plugins {
    id 'org.springframework.boot' version '2.5.0'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}

原文由 Tien Do Nam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.6k
2 个回答

这是 Spring Boot 2.5.0 中的一个变化。

正如@ThomasKläger 指出的那样:您可以在 build.gradle 配置中进行设置。

构建.gradle

 jar {
    enabled = false
}

对于 Kotlin 开发者:

 tasks.getByName<Jar>("jar") {
    enabled = false
}

或者,您可以运行 bootJar 任务。它只生成默认的可运行 jar。

原文由 Tien Do Nam 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试使用以下设置:

 jar {
   enabled = true
   archiveClassifier = '' //use empty string
}

因为 org.springframework.boot.gradle.plugin.JavaPluginAction.java

 private void classifyJarTask(Project project) {
    project.getTasks().named(JavaPlugin.JAR_TASK_NAME, Jar.class)
            .configure((task) -> task.getArchiveClassifier().convention("plain"));
}

来自 spring-boot-gradle-plugin 源文件:

看:

原文由 LiZongbo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题