我使用Eclipse和插件m2eclipse来构建和管理我的项目。在POM,我已经包含了servlet的API入口:maven + eclipse + servlet-api.jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
范围提供,不包括.jar文件来.WAR包,(它已经被Tomcat servlet容器提供)。编译通过MVN安装是正确,文件不纳入WEB-INF \ lib中,部署到Tomcat工作,程序工作,它的确定。
但是,这种情况在Eclipse内部开始。从日食开始我的web应用程序后,我收到提示:
\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
我不知道为什么,因为,Maven依赖(包括javac的-的servlet-2.5.jar)被列为的Java EE模块依赖关系,并应该为放在WEB-INF \ lib文件夹内,同时从eclipse开始。另一方面,在eclipse中我已经提供了我的apache tomcat目录的路径,并且在项目内部,自动引用了来自Apache Tomcat v6.0的库,包括servlet-api.jar。
所以基本上,从POM removeing参考servlet的API-2.5.jar,从Maven依赖该库自败,之后我得到也不例外,而从开始我的Eclipse的Web应用程序。一切都是好......在月食。
当然没有进入POM内部,这次mvn安装失败与我之前提供的相同的异常。
有没有什么办法让它工作,而不需要移除和插入引用,这取决于我想要做什么:使用maven编译或使用Eclipse运行?
问候