2012-10-02 2 views
6

EJB 3.0 지원을 원하고 Java 7을 실행하려면 Java EE가 필요합니까? 아니면 SE를 사용할 수 있습니까?Java 7 SE는 EJB를 지원합니까?

과거 (많은 JDK 버전 전) EJB를 실행하려면 JDK의 "J2EE"버전이 필요했습니다. 더 이상 사실이 아닌 것으로 보입니다. 제발 조언.

업데이트 : 애플리케이션이 Oracle WebLogic 10.3.6에서 실행 중이라고 언급해야합니다. EJB를 실행하기 위해

+0

J2EE 버전의 SDK가 필요하지 않습니다. 그런 건 없어요. JEE는 사양이며 GlassFish 3.x 및 JBoss 6/7처럼 구현하는 여러 공급 업체가 있습니다. Tomcat은 서블릿 컨테이너 일 뿐이므로 EJB를 내부에서 실행할 수 없습니다. –

+0

SDK의 Java EE 버전 : http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-6u3-jdk-7u1-downloads-523391.html – BestPractices

+1

BalusC의 [Confusion Java SE 및 Java EE에 대한 정보] (http://stackoverflow.com/q/12773152/1065197)를 참조하십시오. 또한 Java SE는 사양이기도하며 [Oracle HotSpot] (http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136373.html)과 같이 구현하는 여러 벤더가 있습니다. [OpenJDK] (http://openjdk.java.net/). –

답변

5

EJB는 Java EE의 일부입니다. 그러나 원하는 것이 JPA 인 경우 API가 Java EE (here's the API documentation)에 포함되어 있어도 EJB 엔티티 bean과는 달리 JPA 용 Java EE 애플리케이션 서버가 더 이상 필요하지 않습니다. JPA는 Java SE와 함께 사용할 수 있습니다.

Weblogic에서 이것을 실행하고 있다면 Java EE에 액세스 할 수 있으므로 질문의 요지는 없습니다.

+0

명시 적으로 언급하지는 않았지만, 질문은 Java SE를 사용하여 EJB 라이브러리에 액세스 할 수 있는지 여부에 관한 것입니다. 대답에 따라 옵션은 Java EE SDK를 사용하거나 응용 프로그램 서버와 함께 제공되는 라이브러리를 사용하여 EJB와 같은 Java EE 기능을 얻는 것입니다. 나는 그것이 올바른 대답에 대한 옷장이기 때문에 당신의 대답을 받아 들였습니다. – BestPractices

+0

@BestPractices : 빌드에서 무언가를 컴파일하고 싶다면 weblogic jar를 저장소에 넣거나 glassfish의 jar를 사용할 수 있습니다. –

+0

>하지만 원하는 것이 JPA라면 더 이상 Java EE의 일부가 아닙니다. 이는 완전히 사실이 아닙니다. JPA는 여전히 Java EE 우산 사양에 속합니다. JPA를 선호하여 CMP (Entity Beans, 엔티티와 혼동하지 말 것)가 사용되지 않게되었습니다. JPA는 EJB의 하위 스펙으로 시작되었지만 나중에는 자체 사양으로 이전되었지만 여전히 Java EE에서 언급되었습니다. 이 모든 것이 JPA를 Java EE 외부에서 사용할 수 없다는 것을 의미하지는 않습니다. 실제로 Java SE를 명시 적으로 지원합니다. –

1

, 당신은 자바 SE에 포함되지 않은 EJB 컨테이너 (예 : 글래스 피시 등), 필요 (7)

1

난 당신이 잘못 생각합니다. EJB는 여전히 Java SE가 아닌 Java EE 스펙의 일부입니다. Java SE API을 보면 EJB에 대한 참조가 없습니다.

5

아니요, 변경되지 않았습니다. EJB는 Java SE가 아니고 Java EE의 일부입니다. 이것은 아마도 EJB에 대한 인프라 지원이 거대하며 (Java SE에는 포함되지 않을 것입니다) 변경되지 않을 것입니다.

1

EJB 3.1 Lite 컨테이너 - http://docs.oracle.com/javaee/6/api/javax/ejb/embeddable/EJBContainer.html이있는 비 Java EE 응용 프로그램 서버에서 EJB를 사용하십시오.
Java EE 6 호환 응용 프로그램 서버는 모두 포함 모드에서 실행 가능해야합니다.

그러나 Java SE 7 기능 (Java SE 6에서는 문제가 없었 음)이 아니지만 Java EE 6 API이므로 EJB 3.0을 사용하는 경우 응용 프로그램 서버 나 일부를 사용해야합니다. 구현 자 특정 기능.

관련 문제