Пакет javax.ejb не найден (Eclipse) - PullRequest
       2

Пакет javax.ejb не найден (Eclipse)

2 голосов
/ 20 октября 2010

Я установил Eclipse для Java EE и Java EE SDK от Sun и пытаюсь создать (мое первое) приложение Java EE.

Я создал проект EJB, затем добавил сессионный компонент, используя собственные мастера Eclipse, и пакет javax.ejb не найден!

Я настроил Java EE SDK в качестве целевой среды выполнения и JDK 1.6 в качестве JRE.

Что происходит !? Откуда этот пакет, если не из Java EE SDK или Eclipse для разработчиков Java EE!

Ответы [ 6 ]

3 голосов
/ 20 октября 2010

Я не смог воспроизвести вашу проблему.Я сгенерировал тест EJB Project с использованием GlassFish (это то, что вы получаете в Java EE SDK, верно?) Как Целевая среда выполнения :

alt text

И проект определенно включает javax.ejb классы в качестве зависимости:

alt text

1 голос
/ 23 января 2018

Пакет javax.ejb НЕ доступен со стандартной загрузкой Java.Если ваш проект зависит от него, вам нужно явно загрузить соответствующий файл jar и поместить его в путь сборки.В некоторых ответах этой ветки предлагается загрузить специальный файл jar сервера приложений (glassfish или jboss).Это не идеально.Вы должны использовать артефакты, независимые от сервера приложений, чтобы удовлетворить зависимости времени компиляции.Стандартный артефакт, включающий этот пакет: javaee-api .Просто поместите его в путь сборки, и Eclipse перестанет жаловаться.Кроме того, если вы используете инструмент управления зависимостями, такой как Maven, используйте следующую зависимость в POM:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>8.0</version>
    <scope>provided</scope>
</dependency>
1 голос
/ 19 сентября 2016

Щелкните правой кнопкой мыши по вашему проекту. Перейти к свойствам. Нажмите целевые среды выполнения. Проверьте время выполнения JBoss. Нажмите ОК.

Этот файл находится в библиотеке сервера.

1 голос
/ 18 августа 2013

Пакет javax.ejb включен в сервер с контейнером ejb. после того как вы настроили целевую среду выполнения, пакет будет добавлен в вашу библиотеку проекта при создании проекта ejb

1 голос
/ 20 октября 2010

Я предполагаю, что у вас есть WTP с инструментами разработки Java EE для Eclipse.В свойствах проекта выберите «Фасеты проекта», убедитесь, что вы добавили одну из сред выполнения J2EE с поддержкой EJB (например, JBoss), а затем включите фасет модуля EJB для своего проекта.Вы также можете создать проект EJB с помощью мастера File / New ... / Project / EJB Project, хотя вам все равно придется добавить среду выполнения EJB, например, загрузить и установить сервер JBoss.

0 голосов
/ 20 октября 2010

Спасибо за помощь, ребята. Да, может показаться, что Glassfish включен в Java EE SDK (хотя это было не сразу заметно). Я думаю, что проблема заключалась в том, что нацеливание на это, поскольку среда выполнения неправильно проходила через библиотеки (возможно, вам нужно выбрать подпапку 'glassfish' в установке - хотя не было никакого предупреждения, что это не сработало).

Как упоминает Паскаль, я скачал и установил сам Glassfish 3 и «серверный адаптер» Glassfish (доступно при добавлении новой среды выполнения сервера). Теперь при настройке среды выполнения Glassfish мне предложили выбрать подпапку glassfish, и, следовательно, теперь она работает.

Спасибо за помощь, это крутая кривая обучения ... :)

...