Я не могу включить Java EE SDK в свои проекты после установки

Я тут по уши!

Я скачал Java EE 7 SDK по этой ссылке http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-7-downloads-1956236..html

Во время установки. Меня вынудили установить GlassFish. В отличие от установки Java SE, у меня не было возможности выбрать место для библиотек Java EE!

И теперь у меня остался GlassFish! Я знаю, что рано или поздно мне придется развернуть свое приложение на сервере приложений, но мне нужно только включить библиотеки Java EE в мои Java-проекты Eclipse (даже не веб-проект eclipse. Я собираю свой WAR с помощью ant).

Я считаю, что могу пойти дальше и включить библиотеки Java EE в мою конфигурацию запуска Run-Jetty-Run (плагин Eclipse для запуска jetty из eclipse). classpath и запустить мое приложение без каких-либо проблем.

Итак, мои вопросы:

  • Где файлы Java EE SDK?!?! //Ответ в комментарии к ответу
  • Почему я вынужден использовать GlassFish? // Ответ ниже
  • Есть ли у меня какие-либо заблуждения здесь? Правильно ли я понимаю, что я могу включить библиотеки Java EE в путь к классу моего приложения, который работает в ЛЮБОМ контейнере сервлетов, и запустить мое приложение без каких-либо проблем? // Ответ ниже
  • Я скачал серверный адаптер GlassFish. Настроил сервер, но когда я пытаюсь включить библиотеки времени выполнения GlassFish, я не могу найти НИ ОДНОЙ настроенной библиотеки времени выполнения сервера! Проверьте прикрепленное изображение. //Ответ в комментарии к ответу
  • Можно ли по-прежнему собрать файл WAR с помощью ant без библиотек и запустить его на GlassFish через Eclipse? // Ответ ниже

Я пытаюсь делать вещи с наименьшими абстракциями, чтобы узнать больше и понять, что происходит на самом деле. Вот почему я предпочитаю собирать свой файл WAR с помощью ant из обычного java-проекта Eclipse, а не из динамического веб-проекта.

введите здесь описание изображения


person Muhammad Gelbana    schedule 05.10.2013    source источник
comment
Связано: stackoverflow.com/questions/7295096/what- точно-есть-java-ee   -  person BalusC    schedule 12.10.2013


Ответы (1)


Где находятся файлы Java EE SDK?!?!

Расположение по умолчанию в Windows — c:\glassfish4. Почему ГлассФиш? Увидеть ниже.

Почему я вынужден использовать GlassFish?

GlassFish 4.0 — это «эталонная реализация» Java EE 7.0. Что это обозначает? Это означает, что это эталон, с которым сравниваются совместимые серверы Java EE 7.0. Он формирует основу для наборов тестов Java EE, которые должны пройти другие серверы Java EE, такие как JBoss или TomEE.

Есть ли у меня какие-либо заблуждения здесь? Правильно ли я понимаю, что я могу включить библиотеки Java EE в путь к классу моего приложения, который работает в ЛЮБОМ контейнере сервлетов, и запустить мое приложение без каких-либо проблем?

Да, у вас неправильное представление о том, как работают приложения Java EE. Ваш сервер предоставляет стандартные JAR-файлы Java EE API в своем пути к классам среды выполнения, поэтому вашему приложению не нужно их включать. Контейнер сервлетов является частью сервера Java EE. Существует также контейнер EJB и контейнер Application Client. Веб-приложение, развернутое в контейнере сервлетов, может использовать стандартные службы и API Java EE, такие как JAX-RS для веб-служб RESTful, JPA для доступа к базе данных и т. д.

Можно ли еще собрать WAR-файл с помощью ant, без библиотек, и запустить его на GlassFish через Eclipse?

Именно так работает большая часть разработки Java EE, да. Однако люди все чаще используют для этого Maven вместо Ant, поскольку довольно легко создать скелетное приложение, используя, например, архетипы Code Haus Maven, а Maven выполнит загрузку и установку правильных артефактов для компиляции вашего приложения и его правильной упаковки для запуска на GlassFish, JBoss, TomEE и т. д.

person Ian Evans    schedule 07.10.2013
comment
Большое спасибо за разработку. Это многое прояснило :) Но как насчет включения библиотек Java EE и GlassFish в мои не-веб-проекты (проекты по созданию библиотек для моего приложения, то есть JAR-файлы)? - person Muhammad Gelbana; 10.10.2013
comment
@MuhammadGelbana: в Maven это очень просто. Вы бы добавили зависимость к артефакту javax.javaee-api версии 7.0 в свой проект библиотеки с установленной областью действия. Таким образом, JAR-файлы Java EE используются только для компиляции и не упаковываются в выходной JAR-файл проекта библиотеки. - person Ian Evans; 11.10.2013
comment
Как насчет GlassFish API? Как я могу ссылаться на него из не-веб-проектов Java? - person Muhammad Gelbana; 11.10.2013
comment
@MuhammadGelbana: единственная причина, по которой вам нужно использовать API-интерфейсы GlassFish в вашем приложении, заключается в том, что вы пишете приложение, которому необходимо напрямую взаимодействовать со службами GlassFish (мониторинг, развертывание, администрирование). Итак, зачем вам нужны специфичные для GlassFish API? 99,99999% пользователей не нуждаются в этих API. Но если вам нужен API, используйте артефакт org.glassfish.main.common.glassfish-api версии 4.0. - person Ian Evans; 11.10.2013
comment
Я не эксперт, я все еще учусь, но даже если я среди 0,00001%, которым нужна конкретная функция, учитывая все население мира, это может быть много :D. Однако я только что узнал, что то, что я ищу, на удивление, не существует: stackoverflow.com/questions/17204096/… Я ценю ваше наставничество, я многому научился :) - person Muhammad Gelbana; 12.10.2013