Le type javax.servlet.ServletContext et javax.servlet.ServletException ne peut pas être résolu
Je suis en train d'essayer d'inclure le Printemps de Sécurité pour mon projet web, je suis en suivant ce tutoriel http://docs.spring.io/spring-security/site/docs/current/guides/html5//helloworld.html
J'ai tout fait dans le tutoriel avec le projet maven et fonctionne très bien. Mais quand j'essaie de l'inclure dans mon projet une erreur de compilation apparaissent. Plus précisément, quand je s'étend de AbstractSecurityWebApplicationInitializer
apparaître l'erreur donné
Plusieurs repères à cette ligne
- Le type javax.servlet.ServletContext ne peut pas être résolu. Il est indirectement référencé de besoin .les fichiers de classe
- Le type javax.servlet.ServletException ne peut pas être résolu. Il est indirectement référencé de besoin .les fichiers de classe
L'POM.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>spring.primefaces</groupId>
<artifactId>primefaces.testwebapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>SpringPrimefacesWebApp</name>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- JSF 2.2 core and implementation -->
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.11</version>
</dependency>
<!-- Prime Faces -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.2</version>
</dependency>
<!-- Spring security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.1.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Merci pour l'aide!
À l'aide de mvn clean install-U
Sans les parties pertinentes de votre pom, il est difficile à diagnostiquer.
Désolé, je viens de téléchargé le complet pom.
exécuter la commande dans l'invite de commande(exécuter à partir du répertoire où POM). mvn clean install-U. Si cela ne fonctionne pas vérifier apache-maven-3.3.1\conf\settings.xml fichier pour le chemin du référentiel
Je suis juste vérifier le fichier de configuration, mais lorsqu'/quel est le chemin du référentiel chose?
Désolé, je viens de téléchargé le complet pom.
exécuter la commande dans l'invite de commande(exécuter à partir du répertoire où POM). mvn clean install-U. Si cela ne fonctionne pas vérifier apache-maven-3.3.1\conf\settings.xml fichier pour le chemin du référentiel
Je suis juste vérifier le fichier de configuration, mais lorsqu'/quel est le chemin du référentiel chose?
OriginalL'auteur Amaury Esparza | 2015-06-09
Vous devez vous connecter pour publier un commentaire.
Il suffit d'ajouter le
javax.servlet
API au moment de la compilation des dépendances. Vous n'avez pas besoin de l'inclure dans le build, c'est déjà fourni par le conteneur de servlet.Votre pom suggère que vous déployez pour un barebones conteneur de servlet (Tomcat, La jetée, etc) au lieu d'une véritable serveur d'application Java EE (WildFly, TomEE, GlassFish, La liberté, etc), sinon vous auriez couru dans classloading liées à la difficulté en fournissant JSF avec la webapp au lieu d'utiliser le conteneur fourni un.
Dans ce cas, l'ajout de l'en-dessous de la dépendance devrait faire pour un Servlet 3.1 récipient comme Tomcat 8:
Ou si vous êtes réellement cibler une ancienne Servlet 3.0 récipient comme Tomcat 7, changer les
<version>
à3.0.1
(note: il n'y a pas3.0
dû à une erreur de leur part).Si vous arrivez à déployer réellement à un Java EE 7 serveur d'application comme WildFly 8, utiliser le dessous de la dépendance à la place. Il couvre l'ensemble de la API Java EE, y compris
javax.servlet
(etjavax.faces
, de sorte que vous pouvez supprimer ces API JSF/impl dépendances):Ici aussi, si vous ciblez une ancienne Java EE 6 serveur d'application comme JBoss as 7, changer les
<version>
à6.0
.Merci, l'ajout de la dépendance dans le fichier pom est utile
très utile, merci beaucoup
Merci, il est très Utile
merci beaucoup 🙂
OriginalL'auteur BalusC
Cela a fonctionné pour moi: si ci-dessus fournis solution ne marche pas
Projet > Propriétés > Java Build Path > Bibliothèques > Ajouter une bibliothèque à partir de la bibliothèque tab > Choisissez d'exécution du serveur > Suivant > choisissez Apache Tomcat v 7.0> Finition > Ok
OriginalL'auteur Dila Gurung
essayer le réglage de la mise à jour de mère, comme ceci:
cela a résolu pour moi.
OriginalL'auteur Digao
Ce qui a aidé pour moi a été de supprimer le référentiel dans l'annuaire .m2
et après la suppression d'exécuter maven: package
OriginalL'auteur AlieneilA