Импорт javax.servlet невозможен.
Я пытаюсь использовать eclipse для Java EE для разработки веб-приложений.
Мне нужно использовать Tomcat как сервер. Я загрузил Tomcat, и он работает. Но моя программа не компилируется.
Я получаю следующую ошибку:
Невозможно разрешить импорт javax.servlet.
Что мне нужно сделать?
Ответы
Ответ 1
Вам необходимо добавить API сервлета в ваш путь к классам. В Tomcat 6.0 это находится в JAR, называемом servlet-api.jar
в папке Tomcat lib
. Вы можете добавить ссылку на этот JAR в путь к классу проекта или поместить копию JAR в проект Eclipse и добавить туда путь к классу.
Если вы хотите оставить JAR в папке Tomcat lib
:
- Щелкните правой кнопкой мыши проект и выберите " Свойства".
- Выберите путь сборки Java.
- Перейдите на вкладку " Библиотеки "
- Нажмите Добавить внешние JAR...
- Найдите
servlet-api.jar
и выберите его. - Нажмите " ОК", чтобы обновить путь сборки.
Или, если вы скопируете JAR в свой проект:
- Щелкните правой кнопкой мыши проект и выберите " Свойства".
- Выберите путь сборки Java.
- Нажмите Добавить JAR...
- Найдите в своем проекте
servlet-api.jar
и выберите его. - Нажмите " ОК", чтобы обновить путь сборки.
Ответ 2
Если это еще не сделано, вам необходимо интегрировать Tomcat в представление "Серверы". Щелкните правой кнопкой мыши и выберите "Создать" > "Сервер". Выберите нужную версию Tomcat из списка и завершите работу мастера.
При создании нового динамического веб-проекта вы должны выбрать интегрированный сервер из списка как Targeted Runtime на шаге 1-го мастера.
Или, если у вас есть существующий Dynamic Web Project, вы можете установить/изменить его в записи Targeted Runtimes в свойствах проекта. Затем Eclipse автоматически добавит все свои библиотеки в путь сборки (без их копии в проекте!).
Ответ 3
Вам нужно установить область зависимости "предоставлено" в вашей POM.
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
Тогда все будет хорошо.
Ответ 4
Добавьте servlet-api.jar
в свой путь к классам. Вы можете взять его из папки tomcat lib.
Ответ 5
У меня была такая же проблема, потому что мой "Dynamic Web Project" не имел ссылки на установленный сервер, который я хотел использовать, и поэтому не имел ссылки на Servlet API, который предоставляет сервер.
Следующие шаги были решены без добавления дополнительного сервлет-API к пути сборки Java (версия Eclipse: Luna):
- Щелкните правой кнопкой мыши в своем "Динамическом веб-проекте"
- Выберите Свойства
- Выберите Границы проекта в списке слева от мастера "Свойства"
- В правой части мастера вы увидите вкладку с именем Runtimes. Выберите вкладку Runtime и проверьте сервер, который вы хотите запустить сервлет.
Изменить:, если нет указанного сервера, вы можете создать новый на вкладке Runtimes
Ответ 6
Добавить в pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
Ответ 7
Если вы получаете эту ошибку компиляции, это означает, что вы не включили кусок сервлета в путь к классам. Правильный способ включить эту банку - добавить банку Runtime сервера в проект eclipse. Вы должны выполнить следующие шаги, чтобы решить эту проблему: вы можете загрузить сервлет-api.jar здесь http://www.java2s.com/Code/Jar/s/Downloadservletapijar.htm
Save it in directory. Right click on project -> go to properties->Buildpath and follow the steps.
Ответ 8
Имела ту же проблему в Eclipse. По какой-то причине у меня не было файла servlet.jar в моем пути сборки. То, что я закончил, - это копирование папки "lib" из другого моего проекта в проект, над которым я работал, затем вручную перейдя в эту папку и добавив файл servlet.jar в путь сборки (опция появляется, щелкните файл в проводнике проекта).