【问题标题】:Error: "package com.fasterxml.jackson.databind does not exist" when compiling Java file错误:编译 Java 文件时“包 com.fasterxml.jackson.databind 不存在”
【发布时间】:2021-12-07 09:44:54
【问题描述】:

我在 Eclipse 上创建了一个 Maven 项目,并在 pom.xml 文件中添加了以下依赖项:

<dependency>
        <groupId>com.fasterxml</groupId>
        <artifactId>jackson-xml-databind</artifactId>
        <version>0.6.2</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.13.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.13.0</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.13.0</version>
</dependency>  

然后我用下面的代码检查依赖是否可以编译:

import com.fasterxml.jackson.databind.ObjectMapper;

public class App 
{
    
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        
    }

}

虽然 Eclipse 没有显示任何错误,但当我使用以下命令编译它时:

$ javac -sourcepath src  src\main\java\App.java

我收到以下 3 个错误:

src\main\java\App.java:6:错误:com.fasterxml.jackson.databind 包不存在 导入 com.fasterxml.jackson.databind.ObjectMapper; ^ src\main\java\App.java:16:错误:找不到符号 ObjectMapper 映射器 = 新 ObjectMapper(); ^ 符号:类 ObjectMapper 地点:类App src\main\java\App.java:16:错误:找不到符号 ObjectMapper 映射器 = 新 ObjectMapper(); ^ 符号:类 ObjectMapper 地点:类App 3 个错误

请记住,依赖项的相应 JAR 文件已安装到计算机上的 maven 存储库中

【问题讨论】:

  • 你不是用maven编译,而是用javac。所以它希望那些 jar 文件在类路径上而不是在 mvn

标签: java eclipse maven jackson jackson-databind


【解决方案1】:

看起来你的项目是基于 maven 的,使用 maven 命令编译它: cd 到包含 pom.xml 的目录并运行: mvn 编译

【讨论】:

  • 我做到了,现在如何使用命令窗口运行主类?
  • 运行它:mvn exec:java -Dexec.mainClass="com.mycompany.app.App"
猜你喜欢
  • 2020-05-23
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 2012-02-29
  • 2015-05-07
相关资源
最近更新 更多