带有 java 平台插件的父 gradle 模块

Parent gradle module with java-platform plugin

我有以下 build.gradle 文件:

plugins {
    id 'maven-publish'
    id 'java-platform'
}
subprojects {
    configurations {
        deployerJars
    }

    apply plugin: 'java'
    apply plugin: 'java-library'
}
publishing {
    publications {
        myPlatform(MavenPublication) {
            from components.javaPlatform
        }
    }
}

我收到了那个错误:

> Could not get unknown property 'javaPlatform' for SoftwareComponentInternal set of type org.gradle.api.internal.component.DefaultSoftwareComponentContainer.

找不到关于此错误的任何信息,据我从 platform plugin page 中了解到,您不能使用 'java' 插件和 'java-platform' 插件设置项目,但是这个事实并非如此。 我很感激这里的一些指导,谢谢。

publications 必须在 publishing 块内。而且您不能使用 from components.java,因为您的项目不是 Java 项目,而是一个平台。所以应该是

plugins {
    id 'maven-publish'
    id 'java-platform'
}
subprojects {
    configurations {
        deployerJars
    }

    apply plugin: 'java'
    apply plugin: 'java-library'
}
publishing {
    publications {
        myPlatform(MavenPublication) {
            from components.javaPlatform
        }
    }
}