У меня установлен jdk1.6.0_13
, но когда я пытаюсь найти пакет javax.servlet
или нажмите Ctrl + Space в Eclipse после Servlet
, я ничего не могу получить. Где я могу загрузить этот пакет и почему он не включен в стандартную дистрибуцию для разработчиков?
Где javax.servlet?
Ответ 1
javax.servlet
- это пакет, который является частью Java EE (Java Enterprise Edition). У вас есть JDK для Java SE (Java Standard Edition).
Вы можете использовать Java EE SDK, например.
В качестве альтернативы также можно использовать простые контейнеры сервлетов, такие как Apache Tomcat (смотрите servlet-api.jar
).
Ответ 2
Немного подробней ответить на вопрос Йоахима Зауэра:
В Ubuntu, по крайней мере, метапакет tomcat6
зависит от метапакета tomcat6-common
(и других), который зависит от метапакета libtomcat6-java
, который зависит от пакета libservlet2.5-java
(и других), Он содержит, помимо прочего, файлы /usr/share/java/servlet-api-2.5.jar
и /usr/share/java/jsp-api-2.1.jar
, которые вам нужны библиотеки сервлета и JSP. Поэтому, если вы установили Tomcat 6 через apt-get или Ubuntu Software Center, у вас уже есть библиотеки; все, что осталось, - заставить Tomcat использовать их в вашем проекте.
Поместите библиотеки /usr/share/java/servlet-api-2.5.jar
и /usr/share/java/jsp-api-2.1.jar
в путь класса следующим образом:
-
Для всех проектов, настраивая Eclipse, выбрав Window → Настройки → Java → Установленные JRE, затем выберите JRE, вы используя, нажав "Правка", затем нажмите "Добавить внешние JAR", а затем выбирая файлы из указанных выше мест.
-
Только для одного проекта, щелкнув правой кнопкой мыши по проекту в Project Explorer , затем выберите "Свойства" → "Путь сборки Java", а затем нажмите Добавьте внешние JAR, а затем, выбрав файлы из мест приведенный выше.
Примечание 1: Это правильные версии этих библиотек для использования с Tomcat 6; для других версий Tomcat см. таблицу на странице http://tomcat.apache.org/whichversion.html, хотя я бы предположил, что каждая версия Tomcat включает версии этих библиотек, которые подходят для него.
Далее примечание 2: описание пакета libservlet2.5-java
(dpkg-query -s libservlet2.5-java
) говорит: "Apache Tomcat реализует спецификации Java Servlet и JavaServer Pages (JSP) от Sun Microsystems и предоставляет" чистый Java "HTTP-серверная среда для Java-кода для запуска. Этот пакет содержит Java Servlet и JSP-библиотеку.
Ответ 3
Установили ли вы J2EE? Если вы установили только стандартный (J2SE), он не найдет.
Ответ 4
Обычной процедурой с веб-приложениями Eclipse и Java EE является установка контейнера сервлетов (Tomcat, Jetty и т.д.) или сервера приложений (Glassfish (который поставляется в комплекте с загрузкой Sun Java EE), JBoss AS, WebSphere, Weblogic, и т.д.) и интегрировать его в Eclipse с помощью встроенного плагина в представлении "Серверы".
Во время создания мастера нового динамического веб-проекта вы можете выбрать интегрированный сервер из списка. Если у вас есть существующий Dynamic Web Project без сервера или вы хотите изменить его, вам необходимо изменить его в разделе "Целевые правила" свойств проекта.
В любом случае Eclipse автоматически поместит необходимые серверные библиотеки в путь к классам проекта (путь сборки).
Вы должны абсолютно не извлекать и копировать серверные библиотеки в /WEB-INF/lib
или даже хуже JRE/lib
самостоятельно, чтобы "исправить" ошибки компиляции в Eclipse. Это сделало бы вашу привязку к сети привязанной к определенному серверу и, таким образом, полностью не переносимой.
Ответ 5
Если у вас есть Java EE JDK с Glassfish, это в glassfish3/glassfish/modules/javax.servlet-api.jar.
Ответ 6
эти классы обычно являются частью servlet.jar
http://www.java2s.com/Code/Jar/wsit/Downloadservletjar.htm