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的依賴,問題得到解決。