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

WEB-INF中具有相同groupId和artifactId的多个JAR

牟恺
2023-03-14

我使用的是maven版本3.5.3,在构建项目时,我在WEB-INF(V3.1和V3.4)中获得了两个版本的apache commons-lang3,即使我在父pom.xml的“依赖关系管理”中明确指定了V3.4。

两者都具有相同的groupId和ArtifacTID。

我很困惑。这是Maven的预期行为吗?这种情况是在什么情况下发生的?我的印象是,如果依赖项具有相同的groupId和ArtifactiD,maven只将所有依赖项解析为一个jar。

共有1个答案

慕兴平
2023-03-14

我很困惑。这是Maven的预期行为吗?这种情况是在什么情况下发生的?我的印象是,如果依赖项具有相同的groupId和ArtifactiD,maven只将所有依赖项解析为一个jar。


对于同一个groupId和同一个artifactId,Maven包目标的默认行为是只打包它们的一个版本。注意,如果有多个版本可用,那么Maven选择的版本并不是真正可预测的。

我想像一次,您的构建执行从jar到WEB-INF文件夹的手动复制(例如,通过Maven插件),或者您的pom(或的父级)在WAR中指定一个覆盖。

mvn dependency:tree命令可以帮助您了解不同版本的引用或提取位置。

 类似资料:
  • 我正在使用maven构建restful应用程序,用于从mysql中选择数据。我对POM配置感到非常困惑,如下所示: 而我的多个软件包如下所示: 问题是我是否需要为每个包添加另一个groupid和artifactid。当我访问路径http://localhost:8080/helloworld/rest/exportfile/json它在com.tutorialacademy.rest包类下被编码为

  • 我试图有多个消费者的Kafka主题的多个分区与相同的groupId,这将帮助我扩大消费的消息。 根据Kafka的文件,它说: 如何让多个消费者拥有相同的消费者groupId,以实现负载平衡?

  • 我正在使用java。util。ServiceLoader创建轻量级插件框架。 我目前正在努力解决如何拥有多个具有相同FQN的实现类。我想在类路径上拥有同一个插件的两个副本,并且可以访问META-INF/services目录中给出的两个实现类。 以下是一些简单的eclipse项目,它们说明了我的意思:https://docs.google.com/open?id=0B4MxFm-ACB3IUmswN

  • 我想构建一个Maven原型,检查提供的artifactId和groupId是否匹配给定的regex。通过这种方式,我想要强制执行我们组织的命名约定,例如ear文件的名称以结尾,并且所有组ID都以de.companyName开头。 https://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-de

  • 目前正在进行一个项目,我的Spring Boot项目需要在同一个DB服务器中利用多个数据源或模式。我发现了几个在spring boot中教授多数据源配置的教程,其中实体foo存在于数据源A中,bar存在于数据源B中,即下面的内容。, https://scattercode.co.uk/2016/01/05/multiple-databases-with-spring-boot-和spring数据j

  • 有一个由5个节点组成的Cassandra集群。最近进行了从2.2.7到3.9版本的逐节点更新。更新是按照Datastax描述的过程进行的:升级指令。一切都很顺利。整个过程耗时约1小时。然而,几个小时后,我发现了以下问题:在更新期间,有些数据不一致,即对于特定的分区键和聚类键,只返回一行。但是对于同一个查询,有时返回一个,有时返回两个。 结果示例: 因此,正如您所看到的,第一行有字段:field3和