【问题标题】:Gradle publish Invalid publication 'maven': artifact file does not existGradle 发布无效的发布“maven”:工件文件不存在
【发布时间】:2020-08-09 17:09:20
【问题描述】:

我有一个带有 gradle (5.2) 的 java 项目,我正在尝试将它发布到 myMavenRepo

我的 build.gradle

plugins {   
    id 'maven-publish'
    id 'java'
    id 'org.springframework.boot' version '2.2.5.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
}


group = 'com.doe'
version = '1.0.0'

sourceCompatibility = 10
targetCompatibility = 10


repositories {        
     mavenCentral()
     maven { url  MY_MAVEN_REPO_READ_URL }
}

dependencies { ... }


task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

publishing {
    repositories {
        maven {
            url MY_MAVEN_REPO_WRITE_URL
        }
    }

    publications {
        maven(MavenPublication) {
            from components.java

            artifact sourceJar {
                classifier "sources"
            }
        }
    }
}

但我总是收到此错误:

无效的发布'maven':工件文件不存在:'/build/libs/project-1.0.0.jar'

并且 .jar 始终使用以下名称创建:project-1.0.0-sources.jar

所以我尝试将名称更改分类器中的“来源”删除为空:

 artifact sourceJar {
                classifier ""
 }

但是我收到了这个错误:

无效的发布“maven”:具有相同扩展名和分类器(“jar”、“null”)的多个工件。

有人可以帮我吗?

【问题讨论】:

    标签: java gradle


    【解决方案1】:

    Spring Boot 插件将项目的默认 jar 替换为可执行 jar,该可执行 jar 未注册到 components.java。

    查看Spring Boot plugin documentation,了解如何发布可执行 jar。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 2013-12-06
      • 2014-04-01
      相关资源
      最近更新 更多