当前位置: 首页 > 知识库问答 >
问题:

Gradle:如何覆盖默认的工件名,因为默认的工件名有一个“/”,这会使生成的pom无效

傅皓君
2023-03-14

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

project
     assembly
     mbean-common
     webapps/e2am

所以,我有一个设置。gradle文件如下:

rootProject.name='e2am-父'包括"mbean-public"、"webapps/e2am"、"程序集"

当我默认执行“gradle清理安装”时,gradle生成的pom-default.xml会创建一个“webapps/e2am”的artifactId:

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

和'/'显然是不允许的(因为如果我删除它并在文件上执行mvn help: valal-pom,当'/'在那里时它会嘎嘎作响,当我删除'/'时成功)

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

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

奇怪的是,在maven pom文件中,我可以指定groupId、artifactID和版本,但在build.gradle我不能控制artifactId名称,只能控制group和版本。

共有1个答案

叶谦
2023-03-14

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

 类似资料:
  • 我需要定制的工件安装,不知道如何覆盖默认的(从默认的maven生命周期)。所以我的问题是: 如何在我的pom.xml中配置maven install插件,使其不进行默认安装并执行我的自定义安装文件目标? 我尝试了没有id和默认安装id,但没有帮助。 更新:从提供的答案 - 这对我不起作用(我在日志中看到两次安装尝试)。

  • 我有一个RESTAPI,我不想强迫客户端发送请求参数。我有将近400个api方法,我不想将所有参数设置为“required=false” 我想覆盖Spring RequestParam的默认行为。我想将RequestParam接口的“required”属性的默认值设置为“false”。 有什么方法可以覆盖它吗?如果我不能或这不是最佳实践,有什么方法可以解决上述问题。

  • 每当我在Android Studio中生成签名apk时,默认情况下,它会将名称app-release.apk.... 我们是否可以进行任何设置,以便它能够提示并询问需要分配给apk的名称(就像它在eclipse中所做的那样) 我要做的是——在生成apk后重命名它。这不会给出任何错误,但有没有真正的方法可以让我更改设置以获得提示。 注:

  • 问题内容: 我已经能够覆盖所有名称以“ android:”为前缀的主题,但是Android themes.xml还定义了似乎无法被覆盖的属性。例如: colorTheground是在Theme.Light xml中定义的,但是在此处添加它可以使我 错误。如何为整个应用程序覆盖该样式? 问题答案: 您可以用修改属性(如)的方式覆盖标准属性,只是不要忘记添加如下前缀:

  • 问题内容: 我想覆盖Java外观。我只想显示不同的按钮。 我想要Windows Look and Feel的所有功能,但仅按钮有所不同。希望你明白我的意思。 还告诉我如何制作圆形的JtabbedPane ??? 问题答案: 自定义GUI类 调用您的自定义GUI类

  • 问题内容: 我有一个模板与此: Django自动将此翻译为Terminarsesión西班牙语。但是,我想将其翻译为Cerrarsesión。 我试图将此文字添加到.po文件中,但是在编译消息时出现错误,指出该文字重复。 有没有一种方法可以更改/覆盖默认的Django翻译? 谢谢。 问题答案: 最简单的方法是收集在django.contrib.admin语言环境文件夹中找到的.po文件,然后重新编