J'utilise Eclipse avec le plugin m2eclipse pour construire et gérer mon projet. En POM, j'ai inclus l'entrée pour servlet-api:maven + eclipse + servlet-api.jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
Scope est fourni, de ne pas inclure le fichier .jar à .WAR package, (il est déjà fourni par le conteneur de servlet tomcat). Compilation par mvn install est correcte, le fichier est pas inclus dans \ lib WEB-INF, le déploiement de tomcat travaille, le programme fonctionne, il est ok.
Mais, le cas commence à l'intérieur d'Eclipse. Après avoir démarré mon application Web d'Eclipse, je reçois l'erreur:
\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
Je ne sais pas pourquoi, parce que, dépendances Maven (y compris javac-servlet-2.5.jar) sont inclus comme Java EE Dépendances du module, et devrait être putted dans le dossier WEB-INF \ lib, tout en commençant à partir d'éclipse. D'autre part, dans eclipse, j'ai fourni le chemin vers mon répertoire apache tomcat, et dans le projet, il y a des références automatiques aux bibliothèques de Apache Tomcat v6.0 incluant servlet-api.jar.
Donc, fondamentalement, après removeing référence du POM Servlet-api-2.5.jar, que dissapears bibliothèque de dépendances Maven, et je reçois pas d'exception lors du démarrage de mon application web de l'éclipse. Tout est bien ... en éclipse.
Bien sûr, sans entrée dans POM, cette fois installation mvn échoue avec la même exception, j'ai fourni plus tôt.
Existe-t-il un moyen de le faire fonctionner sans supprimer et insérer de référence, en fonction de ce que je veux faire: compiler avec maven ou exécuter avec Eclipse?
Cordialement