刚开始学maven 做web项目的问题。
首先记录一下问题原因:因为我写了一个servlet,用到了servlet-api,但是这个servlet-api在tomcat服务器中是存在的。如果我直接将项目发布到tomcat中,就会导致jar包冲突。
maven有个选项,就是导入jar包的时候可以有5个选项:compile,provided,runtime,test,system,这五个属性标志了jar作用域,默认是compile。
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
默认情况下就会出现两个servlet-api.jar 就出现了上面的那个问题。
但是为什么是强转异常呢??