gpt4 book ai didi

java - Maven 解决依赖问题

转载 作者:行者123 更新时间:2023-11-30 12:08:51 26 4
gpt4 key购买 nike

我做了一个项目,想用它创建一个 jar。构建 Artifact 后,我得到以下异常:

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/Module java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.Module

这是我在 pom.xml 中的依赖项:

<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 -->
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.9.8</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.itextpdf/kernel -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.1.4</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.itextpdf/forms -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.1.4</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.itextpdf/pdftest -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdftest</artifactId>
<version>7.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- https://mvnrepository.com/artifact/com.itextpdf/pdfa -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.1.4</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- https://mvnrepository.com/artifact/com.jfoenix/jfoenix -->
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>9.0.8</version>
</dependency>

</dependencies>

这是我到目前为止尝试过的:
1. 我使用 enforcer 插件来查找我的依赖项中的版本冲突
2.我展示了maven依赖 TreeMap ,解决了intellij中红线显示的冲突或者不满足的依赖。该图现在看起来像这样:
依赖 TreeMap :

enter image description here

我在 pom.xml 中做错了什么或解决了异常问题吗?

编辑:mvn dependency:tree 的输出

 --- maven-dependency-plugin:2.8:tree (default-cli) @ medium-software ---
[INFO] mediumSoftware:medium-software:jar:1.0-SNAPSHOT
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.9.8:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.8:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-
annotations:jar:2.9.0:compile
[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-
jsr310:jar:2.9.8:compile
[INFO] +- com.itextpdf:kernel:jar:7.1.4:compile
[INFO] | +- com.itextpdf:io:jar:7.1.4:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.13:compile
[INFO] +- com.itextpdf:forms:jar:7.1.4:compile
[INFO] | \- com.itextpdf:layout:jar:7.1.4:compile
[INFO] +- com.itextpdf:pdftest:jar:7.1.4:test
[INFO] | +- ch.qos.logback:logback-classic:jar:1.1.3:test
[INFO] | | \- ch.qos.logback:logback-core:jar:1.1.3:test
[INFO] | \- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- com.itextpdf:pdfa:jar:7.1.4:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:test
[INFO] | \- log4j:log4j:jar:1.2.17:test
[INFO] \- com.jfoenix:jfoenix:jar:9.0.8:compile
[INFO] -------------------------------------------------------------------
-----
[INFO] BUILD SUCCESS
[INFO] -------------------------------------------------------------------
-----
[INFO] Total time: 1.912 s
[INFO] Finished at: 2019-01-13T17:59:48+01:00
[INFO] Final Memory: 11M/47M
[INFO] -------------------------------------------------------------------
-----
Process finished with exit code 0

编辑:完整异常:

Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:473)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:372)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:941)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:973)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:198)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/Module
at controller.Helper.Meldungsgenerator.<init>(Meldungsgenerator.java:17)
at view.Main.start(Main.java:23)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:919)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(PlatformImpl.java:449)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(PlatformImpl.java:418)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:417)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:175)
... 1 more
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.Module
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 11 more
Exception running application view.Main

最佳答案

你的 jackson-datatype-jsr310 已经有 jackson-core,databind 了。所以你可以在下面评论:

<!--<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>

&lt;!&ndash; https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind &ndash;&gt;
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>-->

并尝试构建它。当我尝试它时,我得到了下面的依赖树。

[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.8:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.9.8:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-databind:jar:2.9.8:compile
[INFO] +- com.itextpdf:kernel:jar:7.1.4:compile
[INFO] | +- com.itextpdf:io:jar:7.1.4:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] +- com.itextpdf:forms:jar:7.1.4:compile
[INFO] | \- com.itextpdf:layout:jar:7.1.4:compile
[INFO] +- com.itextpdf:pdftest:jar:7.1.4:test
[INFO] | +- ch.qos.logback:logback-classic:jar:1.2.3:test
[INFO] | | \- ch.qos.logback:logback-core:jar:1.2.3:test
[INFO] | \- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- com.itextpdf:pdfa:jar:7.1.4:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:test
[INFO] | \- log4j:log4j:jar:1.2.17:test
[INFO] \- com.jfoenix:jfoenix:jar:9.0.8:compile

或者你可以从 jackson-datatype-jsr310 中排除 jackson-databind

关于java - Maven 解决依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171080/

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