尝试设置旧版 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 错误的主要内容,如果未能解决你的问题,请参考以下文章

Java Spring Web 应用程序空指针

Spring Batch Bean Scope 转换旧版应用程序

如何将 Keycloak 与 Spring 集成(无引导)?

Spring(引导)具有允许资源的安全预身份验证仍然经过身份验证

HSQL 在 Spring 引导测试中不起作用

Spring引导常用应用程序属性