問題描述:
在運行junit測試的時候,發生一下異常:
原因是由於工程中使用到了servlet-api的jar包依賴,如下
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
由於這個jar包是用jdk1.7編譯的,我的工程是用jdk1.6,於是發生了以上錯誤。
ps:之前沒寫單元測試,開發環境都是部署在tomcat下測試的,由於這個jar包的scope是provider,意味着servlet-api不會部署到tomcat低下(打war包也不會打進去),而是用tomcat自身的servlet-api,所以沒有發現以上錯誤。
解決方案一:
把編譯環境改爲jdk1.7就可以了
更改方法參考:http://blog.csdn.net/linyeban/article/details/53887224
解決方案二:
把servlet-api的版本換成用jdk1.6編譯的版本就可以了,我用的是
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>