web-dev-qa-db-fra.com

java.lang.ClassNotFoundException: org.Apache.jsp.WEB_002dINF.pages.LandingPage_jsp

Je reçois deux erreurs très étranges lors de l'ouverture d'un projet. Si j'ouvre la page d'arrivée et continue de l'actualiser, les messages d'erreur alternent entre les deux ci-dessous.

Soit je reçois ceci:

org.Apache.jasper.JasperException: /WEB-INF/pages/LandingPage.jsp (line: 2, column: 0) The absolute uri: http://www.springframework.org/security/tags cannot be resolved in either web.xml or the jar files deployed with this application

Ou ca:

HTTP Status 500 - Java.lang.ClassNotFoundException: org.Apache.jsp.WEB_002dINF.pages.LandingPage_jsp

Qu'est-ce qui se passe?

11
abc32112

Parce que:

Cause 1 : Erreur d'analyse du fichier JSP. Par exemple: Error JSP page (erreur de syntaxe due ou dépendances manquantes):

<%@taglib prefix="c" uri="http://Java.Sun.com/jsp/jstl/core" %>
<%@page session="false" %>
<html>
<head>
    <title>Home</title>
</head>
<body>
<h1>Hello world!</h1>
<p>The time on server is ${serverTime}.</p>
</body>
</html>

Faites le correct:

<%@page session="false" %>
<html>
<head>
    <title>Home</title>
</head>
<body>
<h1>Hello world!</h1>
<p>The time on server is ${serverTime}.</p>
</body>
</html>

Cause 2 : dépendances manquantes. Corrigez-le en ajoutant ces dépendances:

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
</dependency>

Vous devez définir scope comme ci-dessus.

3
foobarfuu

J'ai aussi eu le même problème une fois. Il a été résolu en modifiant la version du plugin Tomcat de la version 2.0 à la version 2.2.

<plugin>
    <groupId>org.Apache.Tomcat.maven</groupId>
    <artifactId>Tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>
1
Manoj Shrestha

Dans mon cas, AOP signalait que je pouvais accélérer l'heure de début de Tomcat et de la webapp en ajoutant des jars à la section catalina.properties "Tomcat.util.scan.StandardJarScanFilter.jarsToSkip", y compris jstl-1.2.jar. 

N'écoutez pas ce conseil. il n'en sortira que de la tristesse.

1
Greg

Ici, vous avez une ligne de code qui ne peut pas être respectée . Regardez attentivement votre code . Je mets aussi du code inutile dans ma page jsp comme

<spring:url value="/page.html">

Bonne chance!!

0
NoughT

Dans mon cas, une simple application de reconstruction-redéploiement m'a aidé à résoudre la même exception. Il semble que certaines ressources (jsp?) Manquaient dans la construction initiale.

0
naXa

Cela peut également être dû aux astuces suivantes qui désactivent efficacement la prise en charge JSP dans Tomcat 8+ afin d'améliorer les performances (de démarrage).

Do not include JasperInitializer dans la propriété containerSciFilter du contexte (dans conf/context.xml).

0
Koraktor

J'ai eu le même problème lors de mon déploiement sur un serveur distant. Mais mon projet fonctionnait correctement sur un serveur local.

Après beaucoup de travail, mon problème était avec le fichier script utilisé pour le dossier Tomcat . Je le partage si quelqu'un a besoin de ce type de problème à l'avenir avec le même type de problème.

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: Tomcat
# chkconfig: 234 20 80
Java_HOME=/opt/jdk1.8.0_60
export Java_HOME
PATH=$Java_HOME/bin:$PATH
export PATH
export Tomcat_HOME=/usr/Tomcat7
export JEE_JAR=$Java_HOME
export JRE_HOME=$Java_HOME
export CLASSPATH=.:$Java_HOME/jre/lib:$Java_HOME/lib:$Java_HOME/lib/tools.jar
CATALINA_HOME=/usr/Tomcat7

case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
0
Hema

Dans mon cas, cela est dû au fait que Tomcat a ajouté jsps compilé dans/tmp qui a ensuite été effacé. Ce problème est rapporté: https://github.com/spring-projects/spring-boot/issues/5009

0
JJ Roman

J'ai eu cette erreur:
HTTP Status 500 - Java.lang.ClassNotFoundException: org.Apache.jsp.WEB_002dINF.views.index_jsp

Dans index.jsp j'ai quelques lignes:
<%@include file="header.jsp"%>
Mais le nom propre du fichier était Header.jsp. Examinez attentivement votre LandingPage.jsp (ligne: 2, colonne: 0). Bonne chance!

0
Demon