Gradle 发布到 Maven 添加了一个似乎不适用于 Maven POM 依赖项的后缀
Posted
技术标签:
【中文标题】Gradle 发布到 Maven 添加了一个似乎不适用于 Maven POM 依赖项的后缀【英文标题】:Gradle publishing to Maven adds a suffix that does not seem to work from Maven POM dependencies 【发布时间】:2021-10-31 03:29:15 【问题描述】:当我从 Gradle 项目发布到本地 maven 存储库时,我发现主 JAR 文件有一个 -plain
后缀。
pdffer/pdffer-template/1.0-SNAPSHOT
➜ ll
total 32
-rw-r--r-- 1 fedmest staff 918B Sep 1 16:39 maven-metadata-local.xml
-rw-r--r-- 1 fedmest staff 3.8K Sep 1 16:39 pdffer-template-1.0-SNAPSHOT-plain.jar
-rw-r--r-- 1 fedmest staff 1.9K Sep 1 16:39 pdffer-template-1.0-SNAPSHOT.module
-rw-r--r-- 1 fedmest staff 1.7K Sep 1 16:39 pdffer-template-1.0-SNAPSHOT.pom
当我将此库作为 POM 文件中的 Maven 依赖项包含在内时,它无法找到它 - 只有当我重命名主 JAR 以排除 -plain 后缀时它才有效。我可以让 Gradle 生成没有后缀的 JAR 吗?知道为什么会出现后缀吗?
【问题讨论】:
要获得工件-plain
,您必须在您的依赖项中定义一个分类器<classifier>plain</classifier>
...问题是为什么它是用分类器生成的......
好问题,我不知道它来自哪里......我没有有意识地在我的 gradle.build 中配置它
我注意到并不是我所有的项目都有这个问题。那些使用以下插件的插件:'org.springframework.boot'版本'2.5.3'和'io.spring.dependency-management'版本'1.0.11.RELEASE'。他们可以应用此更改吗?有人知道如何撤消吗?
@fedmest,我遇到了同样的事情......你有没有机会知道根本原因或解决方案?
【参考方案1】:
要禁用“普通”,请遵循 springboot 文档: https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#packaging-executable.and-plain-archives
jar
classifier = ''
我也在这里找到了答案: https://***.com/a/67752182/11723872
【讨论】:
以上是关于Gradle 发布到 Maven 添加了一个似乎不适用于 Maven POM 依赖项的后缀的主要内容,如果未能解决你的问题,请参考以下文章
将 AndroidAnnotations Maven 设置适配到 Gradle
Android Gradle 插件自定义 Gradle 插件模块 ③ ( Gradle 插件模块发布配置 | Windows 本地 Maven 仓库地址 | 将插件上传到本地 Maven 仓库 )