今天maven构建项目;以前运行正常的项目忽然报错,提示“找不到符号,org.apache.commons.dbcp软件包不存在”。。。
看pom.xml:
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
没问题。
再到~/.m2下查找commons-dbcp-1.4.jar,也有。
然后想是项目组其他成员在修改过程中加入的jar与原有jar冲突?排除:
<exclusions>
<exclusion>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
依旧无效。
最后mvn dependency:tree,依赖树中只有一处与dbcp有关联,看起来大概是这个样子的:
[INFO] +- commons-dbcp:commons-dbcp:jar:1.4:runtime
[INFO] | \- commons-pool:commons-pool:jar:1.5.4:runtime
就一处,不可能冲突!
那会是什么问题呢?"runtime"!怎么是runtime?
文档上明明是这么写的~
原因找到了,解决起来很简单,修改下scope即可
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
<scope>compile</scope>
</dependency>