我在我的pom.xml中有以下依赖项。上述如何从Web项目中存在的依赖关系jar(使用maven)中排除程序包?
<dependency>
<groupId>org.apache.phoenix</groupId>
<artifactId>phoenix-server-client</artifactId>
<version>4.7.0-HBase-1.1</version>
</dependency>
是凤凰查询服务器interacaction 这种依赖性有org.apache.calcite:方解石avatica:1.6.0传递依赖。方解石 - 阿瓦蒂卡依赖具有杰克逊数据绑定(2.1.1)其传递依赖之一。所以jackson-databind(版本:2.1.1)依赖项应该包含在我的项目的类路径中。但相反,jackson-databind(version:2.1.1)中的所有类都包含在方解石avatica jar中。我在我的pom.xml中声明了jackson-databind(version:2.7.2)作为直接依赖项。 我可以通过标记排除jackson-databind(2.1.1)。 。 < org.apache.phoenix 凤凰 - 服务器 - 客户端4.7.0 - HBase的-1.1 com.fasterxml./* 杰克逊,数据绑定
但它没有得到排除,因为它有被捆绑在方解石avatica:1.6.0罐。有没有解决方案。我已经尝试了maven shaded插件。但徒劳无益。
我创建了一个黑客方解石 - 阿瓦蒂卡瓶。 @JF MeierI需要知道在哪种情况下,将在pom.xml中声明的依赖关系jar的类添加到最终的jar中。例如,(虽然我已经提到但是改写)方解石avatica声明在它的pom.xml中的杰克逊数据绑定的依赖但不是下载jackaon-databind jar它将类放在calcite activa jar? –
我需要在我的项目中包含方解石 - 阿瓦蒂卡罐。我只需要一个版本的jackson-databind jar –
有些人使用maven-shade-plugin将所有依赖关系整合到他们的jar中 - 这会导致像上面那样的问题。通常的做法是不做这件事。 –