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

带有java平台插件的父gradle模块,java,gradle,build.gradle,gradle-plugin,maven-bom,Java,Gradle,Build.gradle,Gradle Plugin,Maven Bom,我有以下build.gradle文件: plugins { id 'maven-publish' id 'java-platform' } subprojects { configurations { deployerJars } apply plugin: 'java' apply plugin: 'java-library' } publishing { publications { myPlatfor

我有以下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
        }
    }
}
我收到了这个错误:

>无法获取类型为org.gradle.api.internal.component.DefaultSoftwareComponentContainer的SoftwareComponentInternal集合的未知属性“javaPlatform”。

找不到有关此错误的任何信息,根据我从的了解,您不能将带有“java”插件的项目设置为“java平台”插件,但事实并非如此。
非常感谢您的指导。

出版物
必须位于
发布
块内。而且您不能使用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
        }
    }
}

事件更改后,我仍然有相同的错误。我用新的细节编辑了问题。你在做什么时出现了这个错误?将其复制并粘贴到简单probject(没有子项目)的build.gradle文件中,并执行./gradlew任务运行正常。我注意到您编辑了问题,但仍然没有使用正确的代码。仔细阅读我的答案。