gpt4 book ai didi

Gradle:如何覆盖默认工件名称,因为默认工件名称为 "/",这会使生成的 pom 无效

转载 作者:行者123 更新时间:2023-12-03 03:05:41 24 4
gpt4 key购买 nike

我遇到了“Gradle dependencyManagement”中描述的问题。我发现“无法初始化 POM pom-default.xml:无法验证项目的 POM”是因为我的目录结构是:

project     assembly     mbean-common     webapps/e2am

So, I have a settings.gradle file like this:

rootProject.name = 'e2am-parent'include "mbean-common", "webapps/e2am", "assembly"

And the pom-default.xml that was generated by gradle when I do "gradle clean install" by default creates an artifactId of "webapps/e2am":

    <groupId>com.e2open.platform</groupId>
<artifactId>webapps/e2am</artifactId>
<version>9.0-SNAPSHOT</version>

'/' 显然是不允许的(因为如果我删除它并在文件上执行 mvn help:effective-pom,它会在 '/' 出现时发出声音,当我删除 '/' 时它会成功)

如何告诉 gradle 不要将“webapps/e2am”用于 artifactId,即如何覆盖默认的 artifactId 名称?我在谷歌上搜索了“gradle override artifactId”,但我似乎找不到正确的方法...

我正在使用 java 插件和 maven 插件,因此 gradle“知道”“全新安装”应该做什么,此时我没有上传到存档,所以我发现与上传相关的解决方案文件似乎无关紧要。

在 maven pom 文件中我可以指定 groupId、ArtifactID 和版本,但在 build.gradle 中我无法控制 artifactId 名称,只能控制组和版本,这似乎很奇怪。

最佳答案

关于 Maven POM 生成的部分 (52.6.4) 在 http://www.gradle.org/docs/current/userguide/maven_plugin.html建议您应该能够通过将 project.archivesBaseName 设置为所需的值来解决问题,因为工件 ID 默认为该值。

关于Gradle:如何覆盖默认工件名称,因为默认工件名称为 "/",这会使生成的 pom 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18853805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com