Java.lang.ClassNotFoundException: javax.servlet.JSP.jstl.core.Config [duplicate]
cette question a déjà une réponse ici:
- le déploiement d'une webapp JSF aboutit en java.lang.ClassNotFoundException: javax.servlet.JSP.jstl.core.Config [duplicate] 3 réponses
quand je lance mon application après avoir entré L'URL, cette exception arrive.Je suis à l'aide de Eclipse et Tomcat7.0.35. J'ai aussi ajouté la Jstl.jar et jstl1.2.jar
mon code est
java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.myfaces.view.jsp.JspViewDeclarationLanguage.buildView(JspViewDeclarationLanguage.java:91)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:78)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
8 réponses
Téléchargez les pots suivants et ajoutez-les à votre répertoire WEB-INF/lib
:
l'erreur vous dit qu'il ne peut pas trouver la classe parce qu'elle n'est pas disponible dans votre application.
si vous utilisez Maven , assurez-vous que vous avez la dépendance pour jstl
artefact:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Si vous ne l'utilisez pas, assurez-vous d'inclure le JAR dans le classpath. Voir cette réponse pour les liens de téléchargement.
par défaut, le conteneur Tomcat ne contient aucune bibliothèque jstl. Pour le réparer, déclare jstl.jar dans votre pom Maven.fichier xml si vous travaillez dans Maven project ou si vous l'ajoutez à classpath de votre application
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
ajouter jstl
jarre à votre classe d'application path.
probablement les bibliothèques jstl sont absentes de votre chemin de classe/non accessibles par tomcat.
vous devez ajouter au moins les fichiers jar suivants dans votre répertoire WEB-INF/lib
:
- jsf-impl.jar
- JSF-api.jar
- jstl.jar
Juste un petit commentaire: parfois Maven ne copie pas la jstl-.jar au dossier WEB-INF même si le pom.xml a l'entrée.
j'ai dû copier manuellement le jar JSTL dans /WEB-INF/lib sur le système de fichiers. Qui a résolu le problème. Le problème peut être lié à Maven war packaging plugin.
ajouter bibliothèque JSTL comme dépendance à votre projet ( javax.servlet.jsp.jstl.core.Config
fait partie de ce paquet).
Par exemple , si vous utilisez Gradle , vous pouvez écrire dans un build.gradle:
dependencies {
compile 'javax.servlet:jstl:1.2'
}
j'ai eu le même problème. Aller à Propriétés du projet - > déploiement Assemplblbly et ajouter JSTL jar