Как запустить проект Java EE 6 в Eclipse - PullRequest
9 голосов
/ 08 октября 2011

Я недавно начал изучать Java EE 6 после нескольких лет работы с Java SE (вместе с другими языками). Я купил разные книги о Maven, EJB, JSF, Glassfish и т. Д. (Пока не читал их все), и я чувствую себя совершенно ошеломленным сложностью простого создания проекта.

Как мне начать проект с нуля (не копируя пример из книги) в Eclipse? Я могу выбрать из динамического веб-проекта, Maven-проекта, EJB-проекта, EAR-приложения и т. Д. Что мне следует использовать, если я хочу создать приложение с EJB / JPA и JSF внутри (веб-приложение)?

Я знаю о стандартной структуре каталогов Maven и архетипах, однако я не знаю, какой выбрать, если это способ сделать это. Конечно, я понимаю, что есть много способов сделать это, и это зависит от того, для чего я буду его использовать, но я изучаю Java EE 6, поэтому я хочу, по крайней мере, иметь некоторые знания о том, как настроить базовый проект как хорошо.

Я также немного перегружен файлом POM. Как узнать, какие зависимости мне нужны, чтобы начать работу с веб-приложением? Или это входит в правильный архетип (если я его найду?)

Я использую Glassfish в качестве сервера приложений, Eclipse, EJB, JPA и JSF. В настоящее время учусь только на книжных примерах.

Ответы [ 5 ]

11 голосов
/ 08 октября 2011

Что ж, для полного ответа на ваш вопрос потребуется целая книга, но вот несколько советов.

  • Понятие приложений Java EE представляет собой приложение Java любого типа, которое использует одну или несколько реализаций API Java EE и для работы требуется сервер приложений Java EE. API-интерфейсы Java такие: Servlet, JSP, EJB, JPA и т. Д. Реализации этих API-интерфейсов обычно предоставляются сервером приложений (например, Tomcat имеет реализации сервлетов и JSP, у Glassfish также есть такие, плюс EJB и т. Д.). Допустим, есть реализации API Java EE, не относящиеся к серверу приложений, такие как реализация JPA в Hibernate. Короче говоря, если вы используете некоторые из этих реализаций API в своем приложении и развертываете их на каком-либо сервере приложений, например Tomcat, Glassfish, JBoss AS и т. Д., У вас есть приложение Java EE.

    • Я рассказал вам все это, потому что в действительности большинство инструментов управления проектами (например, Eclipse, Maven и т. Д.) Используют эти подразделения, такие как Web-приложение, EJB-модуль, Dynamic Web Project и т. Д., Как пользовательские. наименование, которое устанавливает балл парк того, какой набор API Java EE будет использовать ваше приложение. И.Е. веб-приложение или динамический веб-проект с большей вероятностью будут использовать API-интерфейсы сервлетов и JSP, а модуль EJB (не будет) использовать API-интерфейсы EJB и т. д. Это, как я уже сказал, деноминация бального парка. Динамическое веб-приложение может также использовать EJB или JPA, оно не похоже на каменное.

    • Когда вы используете любой из этих инструментов, таких как Eclipse или Maven, для запуска одного из перечисленных выше деноминированных проектов, таких как динамический веб-проект в Elcipse или стандартное веб-приложение с Maven, этот соответствующий инструмент будет добавьте зависимости здравого смысла в ваш шаблонный проект (например, Servlet и JSP в этом случае), а затем позвольте вам справиться с этим здесь.

    • Идея состоит в том, чтобы понять каждый тип шаблона выбранного вами инструмента, прежде чем использовать его в начале вашего проекта. Например, если вы решите использовать Eclipse и начать с динамического веб-проекта, вы должны проверить, что именно Eclipse запрашивает у вас и когда вы это делаете (он спросит вас о расположении локально установленного сервера приложений Java EE, откуда он будет задействовать такие зависимости, как реализация сервлета и реализация JSP среди прочих). Или, если вы выбрали Maven и запустили стандартный веб-проект, вы должны проверить, какие зависимости он добавляет в ваш проект через файл pom.xml, каковы основные функции файла THAT pom.xml и т. Д. Также следует проверить как каждый из этих инструментов развертывает ваше приложение, когда вы говорите ему об этом, использует ли он какую-либо функцию горячего развертывания вашего сервера Java EE, нужны ли ему учетные данные для доступа к этому серверу в первую очередь и т. д.

Мой краткий совет - начать с самого простого примера: установить Tomcat (рекомендуется версия 7), запустить Eclipse для разработки Java EE, добавить установку Tomcat в конфигурацию Eclipse, запустить проект Dynamic Web, использующий этот Tomcat. в качестве сервера приложений, и просто сделайте несколько основных сервлетов и страниц JSP, затем используйте Eclipse, чтобы развернуть эту присоску для tomcat и запустить ее. Затем вы можете перейти к более сложным вещам, таким как сделать то же самое с Maven, интегрировать проект Maven с Eclipse, добавить еще немного Java EE Stuff (например, JPA Implenentation) и т. Д. И т. Д.

1 голос
/ 15 октября 2011

http://blogs.oracle.com/arungupta/entry/web_app_development_using_java дает полное объяснение того, как создать проект Java EE 6 с использованием Eclipse и GlassFish.

В качестве альтернативы вы также можете использовать NetBeans для создания проекта Java EE 6, как описано в:

http://blogs.oracle.com/arungupta/entry/screencast_37_java_ee_6

1 голос
/ 09 октября 2011

Первое, что я хотел бы спросить вас, почему вы изучаете так много технологий.Если ваша цель - получить работу, то, по моему опыту, в компаниях наблюдается тенденция отойти от Java EE до более простых решений.Например, серверы приложений излишни для большинства организаций и Tomcat (или другого веб-сервера) с такими вспомогательными технологиями, как Spring и автономные JMS-серверы, заменяющие полнофункциональные и гораздо более сложные серверы Java EE.

Я думаю, вы былучше ориентироваться на основные концепции и более простые технологии, когда вы начинаете, и держаться подальше от IDE, сложных сборок, EAR и т. д. Вместо этого начните с одной или двух технологий (например, приветственное приложение Tomcat с простой сборкой Ant) и постепенно добавляйтекаждая технология в том, как вы найдете необходимость.Еще лучше, если у вас есть реальная проблема, которую нужно решить, даже если она не окупается.

Большинство компаний (по крайней мере, тех, у кого есть техническая подсказка) предпочитают нанимать программиста, который понимает, какую ценность добавляет технология, подобная JSF, и какой ценой сложности, чем кто-то с большим количеством сокращений в своем резюме.

1 голос
/ 08 октября 2011

Я могу выбрать из динамического веб-проекта, проекта Maven, EJB-проекта, EAR-приложения и т. Д. Что мне следует использовать, если я хочу создать приложение с EJB / JPA и JSF внутри (веб-приложение)?

До спецификации EJB 3.1 было невозможно развернуть EJB в военных файлах, но теперь вы можете.Так что для быстрого прототипа вы можете использовать файл войны, а не файл уха, если это все, что вам нужно, и вы более знакомы с ним.Конечно, вы также можете развернуть его в файле .ear.

Я считаю, что проект Dynamic Web в Eclipse создает файл .war, который вы можете развернуть в своей AS.

Если вы используетеMaven, вы также можете заранее создать свой проект с Maven, а затем импортировать с помощью Maven (через плагин M2Eclipse).Это работает очень хорошо для меня.Затем, с помощью плагина Glassfish Maven , вы можете развернуть свое приложение на Glassfish через командную строку.

Я также несколько перегружен файлом POM.Как узнать, какие зависимости мне нужны, чтобы начать работу с веб-приложением?Или это включено в правильный архетип (если я его найду?)

Вам нужны зависимости Java EE по крайней мере в «предоставленной» области, поскольку сервер, вероятно, предоставит их вам.Таким образом, они будут доступны для вас в режиме компиляции.Например, стек JBoss Java EE 5 выглядит следующим образом (не уверен насчет зависимости GlassFissh, но важно не включать библиотеку в ваш .ear / .war, чтобы избежать конфликтов библиотек):

<dependency>
    <groupId>org.apache.openejb</groupId>
    <artifactId>javaee-api</artifactId>
    <version>5.0-1</version>
    <scope>provided</scope>
</dependency>

Добавлено: Как вы сказали, с самого начала это может быть ошеломляющим, я думаю this - хороший ресурс о том, как настроить проект Glassfish / Java EE.Выберите интересующие вас биты и удачи.

0 голосов
/ 10 октября 2011

Как запустить новый проект веб-приложения в Eclipse с Maven?

Просто введите «archetype: generate» и выберите JSF + EJB / JPA, если доступно.

Этот кажется нормальным: 360: дистанционный -> org.jboss.weld.archetypes: weld-jsf-jee (сварочный архетип для создания Приложение Java EE 6 с использованием JSF 2.0, CDI 1.0, EJB 3.1 и JPA 2.0 (постоянная единица включена))

Appfuse является более полным и может включать в себя вещи, которые вы никогда не будете использовать и что вам придется удалить.

После этого mvn eclipse: eclipse для возможности загрузки проекта в eclipse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...