maven 构建不会拉扯 Jackson Core 的传递依赖

问题描述 投票:0回答:1

我编写了一个具有以下依赖项的java sdk:

<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.18.0</version>
</dependency>

SDK 可以自行按预期工作。

依赖树:

[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.18.0:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.18.0:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-core:jar:2.18.0:compile

然后我将此 SDK 作为客户端程序的依赖项包含在内。但程序失败并出现错误:

java.lang.ClassNotFoundException: com.fasterxml.jackson.core.util.JacksonFeature

JacksonFeature 类是 jackson-core 的一部分。和依赖 T 恤:

[INFO] com.fasterxml.jackson.core:jackson-databind:jar:2.18.0:compile
[INFO] |     \- com.fasterxml.jackson.core:jackson-annotations:jar:2.18.0:compile

为什么maven构建时不拉取jackson-core依赖?

maven jackson
1个回答
0
投票

客户端程序可能不是构建为 fat JAR,即包含依赖项。为此,请使用 Maven 程序集插件或 Maven 阴影插件。

© www.soinside.com 2019 - 2024. All rights reserved.