问题描述:
1、maven下的web项目,pom中依赖了一些jar包,为了避免传递依赖,引入不需要的jar,部分依赖包的配置增加了
<optional>true</optional>
<!-- 日志slf4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j-version}</version> <optional>true</optional> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${org.slf4j-version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j-version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> <optional>true</optional> </dependency>
2、在myeclipse中调试,将项目deploy到tomcat server中,发现部分包丢失,编译失败
3、使用mvn clean install编译,却能正常通过
问题解决方案:
将<optional>true</optional>删掉,丢掉的包找回来了,正常部署到tomcat,并编译通过。
原因分析:
不知道,请童鞋们补充。