импорт javax.servlet не может быть разрешен

<p>я пытаюсь использовать <strong>eclipse</strong> для <strong>java ee</strong> для разработки веб-приложений.</p><p>мне нужно использовать <strong>tomcat</strong> в качестве моего <strong>сервера</strong>. я скачал tomcat, и он работает. но моя программа не компилируется.</p><p>я получаю следующую ошибку:</p><blockquote> <p>импорт javax.servlet не может быть разрешен.</p> </blockquote><p>что мне нужно сделать?</p>

<p>вам необходимо добавить servlet api в ваш путь к классам. в tomcat 6.0 это находится в jar с именем <code>servlet-api.jar</code> в папке <code>lib</code> tomcat. вы можете либо добавить ссылку на этот jar в путь к классам проекта, либо поместить копию jar в свой проект eclipse и оттуда добавить ее в путь к классам.</p><p>если вы хотите оставить jar в папке tomcat <code>lib</code>:</p><ul> <li>щелкните правой кнопкой мыши проект, выберите <strong>свойства</strong>.</li> <li>выберите <strong>путь сборки java</strong>.</li> <li>перейдите на вкладку <strong>библиотеки</strong></li> <li>нажмите <strong>добавить внешние файлы jar ...</strong></li> <li>найдите и найдите <code>servlet-api.jar</code> и выберите его.</li> <li>нажмите <strong>ok</strong>, чтобы обновить путь сборки.</li> </ul><p>или, если вы копируете jar в свой проект:</p><ul> <li>щелкните правой кнопкой мыши проект, выберите <strong>свойства</strong>.</li> <li>выберите <strong>путь сборки java</strong>.</li> <li>нажмите <strong>добавить jar-файлы ...</strong></li> <li>найдите <code>servlet-api.jar</code> в своем проекте и выберите его.</li> <li>нажмите <strong>ok</strong>, чтобы обновить путь сборки.</li> </ul>

<p>если это еще не сделано, вам нужно интегрировать tomcat в представление <em>серверы</em>. щелкните правой кнопкой мыши там и выберите <em>новый> сервер</em>. выберите соответствующую версию tomcat из списка и завершите работу мастера.</p><p>когда вы создаете новый <em>dynamic web project</em>, вы должны выбрать интегрированный сервер из списка как <em>targeted runtime</em> на первом шаге мастера.</p><p>или, если у вас есть существующий <em>dynamic web project</em>, вы можете установить/изменить его в <em>targeted runtimes</em> записи в свойствах проекта. затем eclipse автоматически добавит все свои библиотеки в путь сборки (не имея их копии в проекте!).</p>

<p>вам необходимо установить область зависимости "предоставлено" в вашем pom.</p><p> <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency\_scope">http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#dependency\_scope</a> </p><pre><code><dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>2.4</version> <scope>provided</scope> </dependency> </code></pre><p>тогда все будет хорошо.</p>

<p>добавьте <code>servlet-api.jar</code> в ваш путь к классам. вы можете взять его из папки lib tomcat.</p>

<p>у меня была та же проблема, потому что мой "динамический веб-проект" не имел ссылки на установленный сервер, который я хотел использовать, и поэтому не имел ссылки на servlet api, предоставляемый сервером.</p><p>следующие шаги решили эту проблему, не добавляя дополнительный servlet-api в java путь сборки (<strong>версия eclipse: luna</strong>):</p><ul> <li><strong>щелкните правой кнопкой мыши</strong> в вашем "динамическом веб-проекте"</li> <li>выберите <strong>свойства</strong></li> <li>выберите <strong>project facets</strong> в списке слева от мастера "свойства"</li> <li>в правой части мастера вы увидите вкладку с именем <strong>runtimes</strong>. выберите вкладку runtime и <strong>проверьте сервер</strong> вы хотите запустить сервлет.</li> </ul><p><strong>edit:</strong> если в списке нет серверов, вы можете создать новый на вкладке runtime</p>

<p>добавить в pom.xml</p><pre><code><dependency> <groupid>javax.servlet</groupid> <artifactid>javax.servlet-api</artifactid> <version>3.1.0</version> </dependency> </code></pre>

<p>если вы получаете эту ошибку компиляции, это означает, что вы не включили jar сервлета в classpath. правильный способ включить этот jar - добавить jar server runtime в ваш проект eclipse. чтобы решить эту проблему, выполните следующие действия: вы можете скачать servlet-api.jar отсюда <a href="http://www.java2s.com/code/jar/s/downloadservletapijar.htm">http://www.java2s.com/code/jar/s/downloadservletapijar.htm</a> </p><div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false"> <div class="snippet-code"> <pre class="snippet-code-html lang-html prettyprint-override"><code>save it in directory. right click on project -> go to properties->buildpath and follow the steps.</code></pre></div> </div><p><strong> примечание: </strong> баночка, отображаемая на экране, неверна.</p><p>вы можете следовать шагу для настройки.</p><p><img src="https://i.stack.imgur.com/xprjj.jpg" alt="enter image description here"></p><p><img src="https://i.stack.imgur.com/mfokt.jpg" alt="enter image description here"> <img src="https://i.stack.imgur.com/himh4.jpg" alt="enter image description here"> <img src="https://i.stack.imgur.com/jgqk8.jpg" alt="enter image description here"></p>

<p>была такая же проблема в eclipse. по какой-то причине у меня не было файла servlet.jar в моем пути сборки. в итоге я скопировал папку "lib" из другого моего проекта в проект, над которым я работал, затем вручную вошел в эту папку и добавил файл servlet.jar в путь сборки (опция появляется, когда вы нажмите на файл в проводнике проекта).</p>