junit和jackson的依赖问题:
Junit的依赖错误:
问题:
错误: 程序包org.junit不存在
检查报错的文件,发现用到了:
import org.junit.Before; import org.junit.Test;
于是搜索发现,before, after只支持4.X.X的版本,而原工程中的pom依赖中的版本为3.8.1。更新Junit版本到4.8.1,解决次问题。
Jackson的依赖:
问题:
错误: 程序包com.fasterxml.jackson.databind不存在
工程的目录结构为:
Projet A
|- Module 1
|- Module 2
|- Module 3
| pom.xml
报错的是Module 2。Project A的pom中已经包含了Jackson的相关依赖。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.2</version>
</dependency>
Module 1中也包含了相关依赖:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <scope>provided</scope> </dependency>
而Module2中包含了Module 1的模块,而未直接引入对Jackson的依赖,故而报错:
<dependency> <groupId>ProjectA</groupId> <artifactId>Module1</artifactId> </dependency>
解决方法:
在Module1的pom.xml中加入对Jackson的依赖,问题得到解决。