javax.servlet.JSP.PageContext ne peut pas être résolu à un type [dupliquer]

cette question a déjà une réponse ici:

je vois les erreurs ci-dessous dans ma page jsp -

javax.servlet.jsp.PageContext cannot be resolved to a type
javax.servlet.jsp.JspException cannot be resolved to a type

j'ai vu un post sur ce et essayé peu de choses qui ont été suggérer. BalusC a fourni une excellente contribution - JSTL1.2 et Standard.jar ne doivent pas être utilisés ensemble. Je l'ai fait et j'ai réglé le problème pour un certain temps - mais il réapparaît. Je ne suis pas sûr d'avoir d'autres collisions avec des pots. J'ai défini toutes les jarres comme des dépendances dans Maven. Voici les dépendances que j'ai spécifiées pom.xml -

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.38</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
        <exclusions>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>2.2.2</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.6</version>
    </dependency>

</dependencies>
42
demandé sur skaffman 2011-12-29 18:58:43

4 réponses

vous aurez besoin d'importer dans votre projet les API JSP, qui ne sont pas inclus dans servlet-api

dans mon projet, la solution est:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
61
répondu Oliver 2012-04-07 13:02:04

la solution qui a fonctionné pour moi, est donnée dans cette réponse . Allez dans Propriétés du projet > runtimes ciblés > sélectionnez la case à cocher pour un runtime (Apache Tomcat 7 dans mon cas).

C'est tout. Construisez le projet maintenant et tout ira bien.

23
répondu Nav 2017-05-23 11:54:31

en supposant que c'est le pom pour une application web...

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>

un certain nombre de ces dépendances doivent être définies comme fournies car elles sont fournies par le conteneur. Vous ne devriez pas les inclure dans votre demande. Voir Maven dependency étendues . À défaut, cela peut entraîner un comportement indéterminé.

exactement quelles dépendances sont fournies dépend du conteneur.

5
répondu McDowell 2012-01-03 11:24:47

"La solution qui a fonctionné pour moi, est donné dans cette réponse. Allez dans Propriétés du projet > runtimes ciblés > sélectionnez la case à cocher pour un runtime (Apache Tomcat 7 dans mon cas). C'est tout. Construisez le projet maintenant et tout ira bien."

Cette solution a fonctionné pour moi.

1
répondu user2990685 2017-08-31 07:36:24