Java Gradle:无效的发布“shadow”:具有相同扩展名和分类器(“jar”,“all”)的多个构件。

bluesky1年前 ⋅ 127 阅读

ChatGPT的回答仅作参考:

这个错误通常是由于在Gradle构建中使用了多个插件或任务,它们都尝试创建具有相同扩展名和分类器的构件而导致的。

解决这个问题的方法是检查你的Gradle构建文件,找出哪些插件或任务正在创建相同的构件,并将它们合并为一个。你可以使用Gradle的“dependencies”任务来查看你的构建中所有的依赖关系,以便更好地理解你的构建中哪些插件或任务可能会创建相同的构件。

另外,你也可以尝试使用Gradle的“exclude”选项来排除某些依赖关系,以避免它们创建相同的构件。例如,如果你的构建中同时使用了“shadow”和“maven-publish”插件,你可以使用以下代码来排除“shadow”插件的依赖关系:

```
publishing {
    publications {
        maven(MavenPublication) {
            // ...
            dependencies {
                // Exclude shadow dependencies
                shadowJar {
                    exclude group: 'com.github.jengelman.gradle.plugins', module: 'shadow'
                }
            }
        }
    }
}
```

这将确保在发布构件时,不会创建与“shadow”插件相同的构件。

全部评论: 0

    相关推荐