Класс RequestDispatcher пакета сервлета не имеет поля FORWARD_REQUEST_URI - PullRequest
2 голосов
/ 12 октября 2011

Я пытаюсь создать приложение Java EE, используя Maven. У меня есть следующее в моем pom.xml:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

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

Согласно http://download.oracle.com/javaee/6/api/constant-values.html#javax.servlet.RequestDispatcher.FORWARD_REQUEST_URI, поле FORWARD_REQUEST_URI должно быть там, но это не так.

[ERROR] foo.java:[296,53] cannot find symbol
symbol  : variable FORWARD_REQUEST_URI
location: interface javax.servlet.RequestDispatcher

В каталоге проекта нет других jar-файлов. Я разархивировал файл jar, найденный в каталоге ~ / .m2, и в нем есть файлы, датированные 10/10/2006. Когда я удаляю зависимость из pom.xml, она вообще не компилируется. (У меня установлен сервер Glassfish с Netbeans EE, поэтому я могу использовать банки сервера, я полагаю?)

1 Ответ

3 голосов
/ 12 октября 2011

Эта константа была введена в Servlet 3.0.Его нет в Servlet 2.5, см. Также версию RequestDispatcher javadoc для Java EE 5.Если вы используете Glassfish 3.x, который является контейнером Servlet 3.0, вы сможете обновить версию в pom до 3.0.Однако это должна быть <scope>provided</scope> зависимость.

...