Maven и EJB (JEE) - PullRequest
       11

Maven и EJB (JEE)

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

Я новичок в языке JEE, и я нигде не нашел своего ответа.Может кто-нибудь сказать мне при создании проекта в Eclipse или JBoss Studio, в чем разница между выбором проекта Maven или EJB?Спасибо, что нашли время ответить.

1 Ответ

0 голосов
/ 03 апреля 2019

Прежде всего, JEE - это не язык, это корпоративная платформа Java, которая содержит набор спецификаций, таких как JPA, EJB, JAX-RS и так далее.Серверы приложений, которые сертифицированы как сервер JEE, предоставляют все API и реализации JEE и могут запускать ваши JEE-приложения.

https://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html

Проект Maven - это проект Java, основанный на инструменте сборки maven, а проект EJB - это конфигурация, специфичная для IDE, в которой конфигурация является специфической для IDE и неПереносим на другие IDE.Благодаря Maven и использованию maven-ejb-plugin, среда IDE способна конфигурировать себя для предоставления всех инструментов, необходимых для разработки EJB.

Рекомендуется всегда управлять проектами Java с помощью инструментов сборки, таких как maven.из-за следующих объясненных причин.

Управление проектом Java с помощью IDE

Если вы управляете проектом Java с помощью среды IDE без использования инструментов сборки, то вы не можете использовать проект в другомIDE, и вы можете построить его только в IDE, которую вы создали и управляли ею.Таким образом, Java Project не будет переносимым между различными IDE.Вы должны будете самостоятельно определить все зависимости, даже переходные, которые автоматически разрешаются инструментами сборки.

Управление проектом Java с помощью инструмента сборки

С инструментом сборки у вас есть проект Javaкоторый управляется инструментом сборки, в результате чего определение сборки не зависит от используемой вами среды IDE.Кроме того, с помощью инструмента сборки сборки вашего проекта можно автоматизировать и использовать на серверах сборки, где у вас не будет доступной IDE.Инструменты сборки хорошо поддерживаются во всех IDE и серверах сборки.Все IDE могут импортировать проект Java и настраивать себя с определением сборки, специфичным для инструмента сборки.Если вы измените определение сборки, вам просто нужно обновить проект и все.

Каковы наиболее распространенные инструменты сборки в Java?

Наиболее распространенными инструментами сборки являются

  • Ant (в наши дни устарел, но стоит упомянуть об этом)
  • Maven
  • Gradle

https://ant.apache.org/

https://maven.apache.org/

https://gradle.org/

Как сделатьв Java работают зависимости?

Зависимости Java создают нециклический граф, что означает, что если вы добавили одну зависимость в свой проект, это не означает, что у вас есть все зависимости, доступные во время выполнения, потому что большинствозависимости имеют зависимости сами.Такого рода зависимости называются транзитивными зависимостями.

Что такое транзитивная зависимость?

Транзитивная зависимость - это зависимость, от которой зависит ваша зависимость.

your_project -> dep_1 -> dep_2 -> dep_3

Итакс определенной конфигурацией IDE вам придется вручную добавить dep_1, dep_2 и dep_3 к вашим зависимостям в конкретной конфигурации IDE, потому что это не будет сделано для вас.

С помощью инструмента сборкивам нужно только добавить зависимость dep_1 к определению вашей сборки, потому что dep_1 определит зависимость к dep_2 в своем определении сборки и так далее.Вы получаете картинку.

Полезные ссылки

Для получения дополнительной информации см. Следующие ссылки.

Что такое инструмент сборки?

https://jrebel.com/rebellabs/ides-vs-build-tools-how-eclipse-intellij-idea-netbeans-users-work-with-maven-ant-sbt-gradle/

http://www.lihaoyi.com/post/WhatsinaBuildTool.html

Можно рассказать гораздо больше об инструментах сборки и о том, почему они используются в конкретной конфигурации IDE, но наиболее важными для меня являются переносимость между IDE,возможность автоматизации сборки и независимость определения сборки и используемой IDE.

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

...