【问题标题】:gradle publishing project-version-PLAIN.war file instead of project-version.wargradle 发布 project-version-PLAIN.war 文件而不是 project-version.war
【发布时间】:2022-01-12 22:07:51
【问题描述】:

当我运行“gradle build”时,它会生成一个 build/libs/project-version.war 文件,该文件可以使用“java -jar”命令自行运行。但是当我运行“gradle artifactoryPublish”时,它会在 artifactory 存储库中保存一个没有嵌入 tomcat 的“project-version-plain-war”文件。

我正在关注这个指令https://www.jfrog.com/confluence/display/JFROG/Gradle+Artifactory+Plugin

添加到 gradle.build 的行是这样的:

plugin "maven-publish"
plugin "com.jfrog.artifactory"
artifactory { 
...
}

subprojects {
  plugin "war"
  group = group
  version = version

  publishing {
    publications {
      MavenPublication(MavenPublication) {
        from components.web
      }
    }
    repositories{
      maven { url "https://artifactory-server" }
    }
  }
}

感谢您的帮助

【问题讨论】:

    标签: java spring-boot gradle artifactory


    【解决方案1】:

    使用from components.web 意味着您正在发布由war 任务生成的工件。您需要发布由bootWar 任务生成的工件。您可以通过将发布更改为使用 artifact bootWar 来做到这一点:

    publishing {
      publications {
        MavenPublication(MavenPublication) {
          artifact bootWar
        }
      }
      repositories{
        maven { url "https://artifactory-server" }
      }
    }
    

    这在reference documentation for Spring Boot's Gradle plugin 中有描述。

    【讨论】:

    • 非常感谢!这就是答案 C:
    猜你喜欢
    • 2017-01-10
    • 2016-06-27
    • 2021-06-22
    • 2014-07-27
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2015-03-12
    • 2012-01-21
    相关资源
    最近更新 更多