Eclipse Jetty Integration, как настроить зависимости? - PullRequest
0 голосов
/ 28 марта 2019

Я использую Eclipse Jetty Integration и предполагаю, что это будет управлять моими зависимостями java ee, но, похоже, это не так? Как мне это настроить?

Я установил Eclipse Jetty Integration v4.0 с торговой площадки. Я настроил динамический веб-проект. Без какого-либо Java-кода это работает нормально. Когда я создаю Jetty WebApp и запускаю его, index.html показывает красиво.

Тогда я создаю сервлет. Который зависит от подпакетов javax.servlet

Эти зависимости не найдены.

Я пытался добавить библиотеки затмений в classpath и гуглил всю ночь, но безрезультатно. Я мог бы скачать версию Jetty и импортировать все библиотеки из нее в мой classpath.

Я ожидаю, что Eclipse Jetty Integration с радостью исправит это для меня, если только я найду нужную кнопку или нужную библиотеку для включения.

Если это не правильный способ настройки моих зависимостей, то каков будет правильный путь?

1 Ответ

0 голосов
/ 28 марта 2019

«Eclipse Jetty Integration» - это плагин (не поддерживаемый проектом Eclipse Jetty, кстати), который позволяет легко запускать веб-приложения (проекты WAR) из Eclipse IDE.

Проект должен быть действительным, в отдельном смысле, со всеми его различными зависимостями (компиляция / время выполнения / предоставленный / тест / и т. Д.), Чтобы Eclipse IDE могла компилировать ваш проект.

Servlet API - это компиляция / предоставляемая зависимость, которую ваш проект должен компилировать, но не должен включать в созданный файл WAR (обычно ваши зависимости отображаются в каталоге WEB-INF/lib в файле WAR).

Это зависит от вас и вашего проекта, чтобы определить, где вы хотите, чтобы ваши зависимости .. например: в вашей WAR, вне вашей WAR, в classpath сервера, classpath webapp. Будете ли вы использовать JNDI? если это так, вам нужно знать, как вы объявляете свои ресурсы JNDI и как вы намереваетесь получить доступ к этим ресурсам. Будете ли вы сериализовать объекты в HttpSession? тогда вам нужно знать, где находятся ваши зависимости (сервер / веб-приложение / в кластере / - это сериализованные данные, к которым будет осуществляться доступ из нескольких веб-приложений), чтобы десериализация работала так, как вы хотите.

Самый распространенный (и я действительно имею в виду THE самый распространенный) способ настройки / управления / поддержки ваших зависимостей - это инструмент для сборки (Maven или Gradle), и пусть эти инструменты беспокоятся о том, как ваш проект собран, упакован и протестирован.

Да, Eclipse IDE поддерживает проекты на основе Maven и Gradle и прекрасно интегрируется с обоими.

Примечание. Для запуска проекта из Eclipse IDE НЕ требуется плагин Eclipse Jetty Integration. На самом деле все больше разработчиков (в соотношении почти 45: 1, основанном на различных отраслевых опросах) просто используют встроенные методы пристаней для запуска проекта или для настройки модульного тестирования своего проекта.

...