首页 > 解决方案 > Gradle MavenPublication:“尽管执行了操作,但任务尚未声明任何输出”

问题描述

我想将 zip 存档发布到远程 maven 存储库。该任务zipSources将示例文件打包到 zip 存档中。发布myPubliction发布到mavenLocal远程 Maven 存储库并发布到远程 Maven 存储库。

发布工作 - 我可以看到上传到远程存储库的包。但是构建仍然失败

> Task :publishMyPublicationPublicationToMavenRepository FAILED
Task ':publishMyPublicationPublicationToMavenRepository' is not up-to-date because:
  Task has not declared any outputs despite executing actions.
Publishing to repository 'maven' (null)

FAILURE: Build failed with an exception.

我错过了什么?如何声明发布操作的输出?还是有其他原因?

这是我的build.gradle

plugins {
    id "maven-publish"
}

group = 'com.example.test'
version = '0.0.1-SNAPSHOT'

task zipSources(type: Zip, group: "Archive", description: "Archives source in a zip file") {
    from ("src") {
        include "myfile.txt"
    }
    into "dest"
    baseName = "helloworld-demo"
    destinationDir = file("zips")
}

publishing {
    publications {
        myPublication(MavenPublication) {
            artifactId = 'my-library'
            artifact zipSources
            pom {
                name = 'My Library'
                description = 'A concise description of my library'
            }
        }
    }
    repositories {
        maven {
            mavenLocal()
        }
        maven {
            url "http://nexus.local/content/repositories/snapshots"
            credentials {
                username = 'admin'
                password = 'admin'
            }
        }
    }
}

标签: mavengradle

解决方案


根据https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:install看来,里面不能有mavenLocal()声明repositories


推荐阅读