gpt4 book ai didi

java - 如何在 maven 中使用单个 groupId 和多个 artifactId?

转载 作者:行者123 更新时间:2023-12-01 14:32:10 25 4
gpt4 key购买 nike

第一个依赖项是验证 xml 文件。

<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
</dependency>

第二个依赖是将 POI 对象写入文件。
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>

现在,我需要一个如下的解决方案:
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>

有可能实现这一目标吗?

最佳答案

根本不可能保留多个 artifactId单个标签 dependency标签。

Maven 的 XML 模式定义不会验证它。它会产生这样的错误:

Project build error: Non-parseable POM project/pom.xml: Duplicated tag: 'artifactId' (position: START_TAG seen ...</artifactId>\n 

例如 :

这是正确的。
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>

这是错误的。
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>

您可以简单地使用这样的 artifactId 是不同的(没有任何问题):
    <dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
</dependency>

<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>

你可以引用这个: Multiple versions of the same dependency in Maven

注意: JDK 8 已经为您提供了 SAX 解析器来验证 XML。请使用那个。您不需要第三方 jar 来验证 XML。

阅读 here关于 Java SAX 解析器。

关于java - 如何在 maven 中使用单个 groupId 和多个 artifactId?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62124536/

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