问题描述:
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,并编译通过。
原因分析:
不知道,请童鞋们补充。