【问题标题】:Can I get the Maven reactor to use different names?我可以让 Maven 反应器使用不同的名称吗?
【发布时间】:2021-06-21 15:16:03
【问题描述】:

我已经将几个 repos 放在一起,并正在尝试执行 maven 多模块构建。一切正常,但这些 repos 中的 artifactIds 导致 maven reactor 输出令人困惑。每个 repo 生成具有不同 groupId 但相同 artifactId 的工件。例如:

repo1 => my.company.repo1 / stupidName / 1.0.2
repo2 => my.company.repo2 / stupidName / 1.8.0
repo3 => my.company.repo3 / stupidName / 4.8.1

那些存储库及其工件都很好。任何其他依赖于这些工件的项目都可以轻松声明正确的依赖关系。唯一的问题是反应器摘要有点无用,因为每一行都有相同的名称。

Reactor Summary:

[exec] [INFO] stupidName ......... SUCCESS [ 31.276 s]
[exec] [INFO] stupidName ......... FAILURE [  7.840 s]
[exec] [INFO] stupidName ......... SUCCESS [  0.183 s]

当然,只有三个 repo,不难找出哪个失败了。但是有很多。如果这些行中的每一行都有一个唯一的名称,那就太好了。我玩过重命名目录和使用<finalName>,但这些都不起作用。显然反应器正在使用 pom.xml 中列出的<artifactId>。

我不相信我可以证明更改这些工件的名称然后更新所有其他依赖它们的项目是合理的。仅仅为了使构建日志更易于阅读,这将是大量的工作。

有没有办法在不更改 artifactIds 的情况下让不同的名称出现在反应器摘要中?

编辑:我看到comment 是另一个问题,看起来作者明确回避了我的情况。这让我担心我是 SOL。

【问题讨论】:

  • 第一个问题是:如果您将这些东西组合成一个多模块构建,是否打算拥有一个具有适当结构和所有工件的相同版本的单一构建?此外but the artifactIds in those repos cause the maven reactor output to be confusing. 使用<name>..</name> 名称标签生成输出,如果未设置它将使用artifactId...?
  • 这意味着你最终必须更改 <name>..</name> 条目,但我建议检查并重新考虑整个结构中的 artifactId/GroupId 组合......
  • > 输出是使用<name>..</name> 名称标签生成的,如果未设置,它将使用artifactId 谢谢@khmarbaise,这正是我需要的信息!我不知道我怎么错过了那个标签!

标签: maven multi-module maven-reactor


【解决方案1】:

@khmarbaise 的评论是我需要的答案。不知怎的,我错过了<name> 标签。一旦我添加了那个标签,反应堆的输出就更容易阅读了。例如:

<project>
   <groupId>my.company.repo1</groupId>
   <artifactId>stupidName</artifactId>
   <name>muchBetterUniqueName</name>
   <version>1.0.2</version>
Reactor Summary:

[exec] [INFO] stupidName ............. SUCCESS [ 31.276 s]
[exec] [INFO] muchBetterUniqueName ... FAILURE [  7.840 s]
[exec] [INFO] stupidName ............. SUCCESS [  0.183 s]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多