尝试设置旧版 Java Spring 引导应用程序时无法解决导入 com.fasterxml.jackson 错误
Posted
技术标签:
【中文标题】尝试设置旧版 Java Spring 引导应用程序时无法解决导入 com.fasterxml.jackson 错误【英文标题】:The import com.fasterxml.jackson cannot be resolved error on trying to setup a legacy Java Spring boot application 【发布时间】:2019-11-30 17:49:46 【问题描述】:在现有类中导入后会在 Eclipse 上引发编译错误“无法解析导入” -
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
pom.xml中对应的jar包含是-
<properties>
<fasterxml.version>0.7.0</fasterxml.version>
</properties>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>jackson-module-hibernate</artifactId>
<version>$fasterxml.version </version>
</dependency>
我检查了 .m2 中不存在相应的 jar 文件。 .m2/fasterxml/里面没有jackson-module-hibernate这样的目录
但是,对应于另一个声明的 jar 存在于 .m2 -
com.fasterxml.jackson.core 杰克逊注解 2.6.1
存在于 .m2/fasterxml/jackson/core/jackson-annotations/2.6.1 作为jackson-annotations-2.6.1.jar
设置详情
Maven 版本 - 3.3
Java 版本 - 1.8。
Eclipse 最新版本 - 2019-06。
我无法验证工作沙箱设置中是否缺少第一个 jar,但它应该是这样的,因为我们已经备份了 .m2 目录。应用程序如何在没有 jar 的情况下在另一个设置中运行。
注意 - 当涉及到 maven 依赖项时,我仍然是一个挣扎者,而且这个遗留项目的设置让我很吃力。我正在尝试在 Eclipse 上进行设置。经过一番努力,它在某个时候重新设置了,但在我记录我们所做的所有步骤/解决方法之前,我错误地删除了工作设置。
更新
jackson-annotations 的 pom 声明在另一个项目的 pom 中。该项目已包含在依赖项目的 pom 中 -
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dependencies</groupId>
<artifactId>dependency-project</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
【问题讨论】:
【参考方案1】:你还需要:
在另一个项目上从命令行执行mvn clean compile
在您的项目上执行mvn clean compile
右键单击项目 > Maven > 更新项目...
【讨论】:
注意版本变化。您所需的依赖项是上述声明的已获取 jar 文件的一部分 我想我在理解上犯了一些错误。我有你提到的这个声明。我也有 .m2/fasterxml/jackson/core/jackson-annotations/2.6.1 中已经提到的 jar jackson-annotations-2.6.1.jar。但是,我仍然收到编译错误。此声明在另一个项目的 pom 中。该项目已包含在依赖项目的 pom 中。查看有问题的更新。 我怀疑依赖项目的pom中定义的依赖项是否被加载。我在文件树结构中看不到该项目下的任何Maven Dependencies
文件夹。我只能看到 pom.xml。
请尝试Right-click on project
> Maven
> Update project
如果没有帮助 - 转到您的项目根目录(包含问题的目录)并运行 mvn clean compile
以上是关于尝试设置旧版 Java Spring 引导应用程序时无法解决导入 com.fasterxml.jackson 错误的主要内容,如果未能解决你的问题,请参考以下文章
Spring Batch Bean Scope 转换旧版应用程序
如何将 Keycloak 与 Spring 集成(无引导)?