Установите Java EE 6 на OS X Lion - PullRequest
8 голосов
/ 15 января 2012

Приложение Java Preferences на моей рабочей станции OS X Lion указывает, что у меня установлена ​​Java SE 6 v1.6.0_29-b11-402 (как 32-, так и 64-битная версии). К сожалению, мне нужны дополнительные функции, они доступны только в Enterprise Edition.

Комментарий «Jesper» в « Как установить определенный jdk в Mac OS X? » говорит о том, что мне нужно использовать Java, поставляемый Apple, а не Oracle / Sun. К сожалению, не похоже, что Apple предлагает Enterprise Edition Java 6.

Это заставляет меня задать ряд вопросов:

  1. Я что-то пропустил? Apple предлагает EE Java 6?
  2. Если 1 верно, как мне его получить? Можно ли установить его рядом с Java SE 6?
  3. Если 1 равно false, можно ли использовать версию Oracle / Sun? Есть ли рекомендуемое место установки? Я предполагаю, что /System/Library/Frameworks/JavaVM.framework/Versions/ папка не рекомендуется.
  4. Версия Oracle / Sun, кажется, включает в себя множество дополнений (например, Glassfish), которые я предпочел бы не устанавливать. Можно ли установить основной SDK без дополнений? Будет ли Tomcat 7 работать в качестве альтернативы Glassfish?

** редактировать **

Этот вопрос является результатом другого моего вопроса: Веб-служба RESTful: java.lang.NullPointerException service.AbstractFacade.findAll . Кажется, что эта конкретная ошибка является результатом отсутствующей аннотации (@Stateless). Эта аннотация «содержится» в пространстве имен javax.ejb. *, Которое содержится в файле .JAR, которого нет на моей рабочей станции.

Это привело меня к выводу, что мне нужна «Enterprise Edition» Java 6 (в которой будет отсутствующий файл .JAR и другие зависимые файлы). Я полагаю, если бы был способ определить, какой файл .JAR отсутствует (Netbeans 7, кажется, не помогает с этим), я, вероятно, мог бы просто добавить его в проект и пропустить неприятности EE.

Ответы [ 3 ]

17 голосов
/ 15 января 2012

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

Существует Java SE, и есть просто некоторые интерфейсы, которые реализует контейнер Enterprise Edition.

Sun путала рынок с соглашением об именах много лет назад, когда они разработали J2EE.Это никогда не было отдельной версией Java, просто некоторые из них были привязаны к API, и если сервер реализовал их и прошел некоторую сертификацию, мог бы называть себя контейнером J2EE.

Они еще больше запутали рынок, когда начали называть его Java EE6.

Если вы разрабатываете на основе этих API, все, что вам нужно, это файлы .jar, которые содержат эти объявления интерфейса.Вы можете скачать эти файлы API .jar, которые раньше назывались J2EE.Но они сами по себе довольно бесполезны.

Но я сомневаюсь, что вы хотите написать сервер Java EE, вы хотите его использовать.Если вы хотите использовать сервер, вам нужно скачать сервер, совместимый с Java EE, и использовать предоставленные им файлы .jar.

Каждая среда IDE, которую стоит использовать, включает их в той или иной форме, обычно путем определения сервера, который вы будете использовать.развертывать против.Tomcat не является полностью EE-контейнером.Это контейнер сервлетов, который является подмножеством полных спецификаций EE.

Начиная с OSX Lion, Apple больше не поставляет JDK , этотолько тот Oracle, который вы, очевидно, уже успешно приобрели.

5 голосов
/ 15 января 2012

Java EE 6 - это спецификация, некоторые сопутствующие API представлены в виде интерфейсов. Java EE 6 сама по себе не является реализацией этих API. Если вы хотите использовать API Java EE 6, вам необходимо воспользоваться совместимым сервером приложений Java EE. Glassfish является эталонной реализацией Java EE 6, однако есть и другие совместимые серверы. JBoss - еще одна популярная опция.

Они легко устанавливаются в Mac OS X.

0 голосов
/ 15 января 2012

Существует загрузка Java EE. http://www.oracle.com/technetwork/java/javaee/downloads/index.html Сам по себе он не особенно полезен, если вы не пытаетесь разработать приложение, предназначенное для работы в нескольких контейнерах.

Что вы обычно хотите сделать, это загрузить контейнер и разработать с ним. например Glassfish (доступно по той же ссылке выше). Эту задачу можно упростить с помощью поддержки IDE, такой как Netbeans. Вы можете скачать версию Netbeans, которая уже включает Glassfish и API Java EE, и просто начать работать. Возможны другие комбинации IDE / контейнера, обычно есть какой-то плагин.

Java 6 JDK / JRE для OSX по-прежнему от Apple. Однако они перевели большую часть кода в Oracle, и версия JDK 7 для OSX близка к состоянию выпуска, и она может быть достаточно зрелой для ваших целей. Мое лучшее предположение, что это так.

...