Gradle : 未能通知构建侦听器
Gradle : Failed to notify build listener
当我们使用 gradle 构建应用程序时,它会抛出以下异常。以下是 build.gradle 代码:
buildscript {
repositories{
jcenter()
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1"
classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
}
}
apply plugin: "idea"
apply plugin: "java-library"
apply plugin: "maven-publish"
apply plugin: "com.jfrog.artifactory"
apply plugin: "io.spring.dependency-management"
group = "com.xx.ff"
version = "2.1.5-SNAPSHOT"
wrapper {
gradleVersion = "6.5"
distributionType = Wrapper.DistributionType.ALL
}
repositories {
jcenter()
if (System.getenv('ARTIFACTORY_USER') == null || System.getenv('ARTIFACTORY_PASSWORD') == null) {
logger.warn("Please set environment variables ARTIFACTORY_USER and ARTIFACTORY_PASSWORD")
}
maven {
name "libs-snapshot"
url "https://vvvvvvvvvvvvvvvv/artifactory/libs-snapshot/"
credentials {
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
}
}
maven {
name "libs-release"
url "https://vvvvvvvvvvvvvvvvvvvvvvvvvv/artifactory/libs-release/"
credentials {
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
}
}
}
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
idea.module {
outputDir file("build/classes/java/main")
testOutputDir file("build/classes/java/test")
}
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:${springBootVersion}"
}
}
dependencies {
api("org.springframework.boot:spring-boot-starter-security:${springBootVersion}")
api("org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:${springBootVersion}")
implementation("javax.validation:validation-api:${validationVersion}")
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = "libs-snapshot-local"
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
maven = true
}
defaults {
publications("mavenJava")
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
我收到以下错误:
构建文件,行:81
未能通知构建侦听器。
'org.gradle.api.file.FileCollection org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal.getPublishableFiles()'
有人可以帮我吗?
对于偶然发现此错误的未来读者。
我一直在拼凑一个工作中的 jfrog 从这里发布:
我收到错误,然后意识到我没有使用 android。
当我有这个时我得到了这个错误:
publishing {
publications {
Android(MavenPublication) {
groupId "${projectGroupName}"
artifactId 'MyFirstArtifactId'
version "${projectVersionName}"
artifact "$buildDir/blah/blah/mything-1.0-SNAPSHOT.jar"
}
}
}
并将“Android”更改为“mavenJava”,如下所示。
publishing {
publications {
mavenJava(MavenPublication) {
groupId "${projectGroupName}"
artifactId 'MyFirstArtifactId'
version "${projectVersionName}"
artifact "$buildDir/blah/blah/mything-1.0-SNAPSHOT.jar"
}
}
}
我唯一的其他提示是我有这个。请记住,我有一个 multi-module gradle 项目,我不想 artifactory-publish 根模块。
subprojects {
apply plugin: 'java-library'
apply plugin: "maven-publish"
}
所以我的总体想法是:您是否缺少 apply-plugin?
文档:
https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:complete_example
=========
另一个提示项目:
https://github.com/foragerr/SO-35851251-Multiproject-Artifactory-Publish
=========
我发布的另一个更长的答案:
=========
新手提醒。
https://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
下面是 url 上面的示例代码:
publishing {
publications {
myPublicationName(MavenPublication) {
// Configure the publication here
}
}
}
这就是为什么对“myPublicationName”使用“关键字”会使其更难辨别的原因之一。
=========
https://gradle.github.io/gradle-script-kotlin-docs/userguide/publishing_maven.html
发布{
出版物{
mavenJava(MavenPublication){
来自(components.java)
}
}
}
我仍在尝试弄清楚 mavenJava 是否只是另一个名称(如“myPublishingName”,'from' 是更重要的部分。或者它是一个特殊名称/保留关键字。
当我们使用 gradle 构建应用程序时,它会抛出以下异常。以下是 build.gradle 代码:
buildscript {
repositories{
jcenter()
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1"
classpath "io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE"
}
}
apply plugin: "idea"
apply plugin: "java-library"
apply plugin: "maven-publish"
apply plugin: "com.jfrog.artifactory"
apply plugin: "io.spring.dependency-management"
group = "com.xx.ff"
version = "2.1.5-SNAPSHOT"
wrapper {
gradleVersion = "6.5"
distributionType = Wrapper.DistributionType.ALL
}
repositories {
jcenter()
if (System.getenv('ARTIFACTORY_USER') == null || System.getenv('ARTIFACTORY_PASSWORD') == null) {
logger.warn("Please set environment variables ARTIFACTORY_USER and ARTIFACTORY_PASSWORD")
}
maven {
name "libs-snapshot"
url "https://vvvvvvvvvvvvvvvv/artifactory/libs-snapshot/"
credentials {
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
}
}
maven {
name "libs-release"
url "https://vvvvvvvvvvvvvvvvvvvvvvvvvv/artifactory/libs-release/"
credentials {
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
}
}
}
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
idea.module {
outputDir file("build/classes/java/main")
testOutputDir file("build/classes/java/test")
}
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:${springBootVersion}"
}
}
dependencies {
api("org.springframework.boot:spring-boot-starter-security:${springBootVersion}")
api("org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:${springBootVersion}")
implementation("javax.validation:validation-api:${validationVersion}")
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = "libs-snapshot-local"
username = System.getenv('ARTIFACTORY_USER')
password = System.getenv('ARTIFACTORY_PASSWORD')
maven = true
}
defaults {
publications("mavenJava")
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
我收到以下错误: 构建文件,行:81
未能通知构建侦听器。
'org.gradle.api.file.FileCollection org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal.getPublishableFiles()'
有人可以帮我吗?
对于偶然发现此错误的未来读者。
我一直在拼凑一个工作中的 jfrog 从这里发布:
我收到错误,然后意识到我没有使用 android。
当我有这个时我得到了这个错误:
publishing {
publications {
Android(MavenPublication) {
groupId "${projectGroupName}"
artifactId 'MyFirstArtifactId'
version "${projectVersionName}"
artifact "$buildDir/blah/blah/mything-1.0-SNAPSHOT.jar"
}
}
}
并将“Android”更改为“mavenJava”,如下所示。
publishing {
publications {
mavenJava(MavenPublication) {
groupId "${projectGroupName}"
artifactId 'MyFirstArtifactId'
version "${projectVersionName}"
artifact "$buildDir/blah/blah/mything-1.0-SNAPSHOT.jar"
}
}
}
我唯一的其他提示是我有这个。请记住,我有一个 multi-module gradle 项目,我不想 artifactory-publish 根模块。
subprojects {
apply plugin: 'java-library'
apply plugin: "maven-publish"
}
所以我的总体想法是:您是否缺少 apply-plugin?
文档:
https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:complete_example
=========
另一个提示项目:
https://github.com/foragerr/SO-35851251-Multiproject-Artifactory-Publish
=========
我发布的另一个更长的答案:
=========
新手提醒。
https://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
下面是 url 上面的示例代码:
publishing {
publications {
myPublicationName(MavenPublication) {
// Configure the publication here
}
}
}
这就是为什么对“myPublicationName”使用“关键字”会使其更难辨别的原因之一。
=========
https://gradle.github.io/gradle-script-kotlin-docs/userguide/publishing_maven.html
发布{ 出版物{ mavenJava(MavenPublication){ 来自(components.java) } } }
我仍在尝试弄清楚 mavenJava 是否只是另一个名称(如“myPublishingName”,'from' 是更重要的部分。或者它是一个特殊名称/保留关键字。