2017-05-12 8 views
0

저는 엔터프라이즈 JAVA EE API 웹 사이트를 구축하고 있습니다. 이 웹 사이트는 JAVA EE 사양에 적합해야합니다. 그렇다면 Spring, Hibernate ... 등등을 사용할 수 없다는 것을 의미합니다. 이 웹 사이트는 Spring과 Hibernate를 사용하지만. 즉, 관련 코드를 제거하고 표준 Java EE 라이브러리를 사용해야한다는 의미입니다. 다음은 우리가 지금 사용하는 몇 가지 라이브러리입니다. 누구든지 어떤 libs 표준 JAVA 전자 말해 수 있습니까? 또는 lib가 JAVA EE 표준인지 여부를 아는 방법을 보여주십시오. 고마워.이들 lib 중 어느 것이 표준 J2EE입니까

javax.inject 
com.googlecode.gentyref 
org.springframework -> not 
org.apache.httpcomponents 
org.apache.log4j 
ch.qos.logback 
org.slf4j 
redis.clients 
org.hibernate -> not 
commons-io 
org.apache.commons 
commons-beanutils 
mysql-connector-java 
org.glassfish.jersey 
com.fasterxml.jackson 
javax.servlet -> JAVA EE 
org.apache.oltu.oauth2 
+0

J2EE를 다운로드하면 어떤 라이브러리를 얻었습니까? – Andreas

+0

"J2EE"는 더 이상 사용되지 않는 약어입니다. Java EE에는 JPA가 포함되어 있으므로 Hibernate는 왜 허용되지 않습니까? 자바 EE 문서를 보셨습니까? –

+0

"웹 사이트는 JAVA EE 사양에 맞게 작성해야합니다."- IMHO는 J2EE API를 활용해야 함을 의미하지만 타사 구현과 그 종속성을 사용하는 것을 방해하지 않습니다. (ok, Spring 제외) – gusto2

답변

2

저는 전에 이와 같은 클라이언트에서 일했습니다.

완전한 Java EE 7 호환 서버로 이동한다고 가정 할 때 가장 큰 문제는 기존 애플리케이션이 Spring MVC를 사용하는지 여부입니다. 이 이것에 전류 대안은없고 당신도 할 필요가 : 자바 서버는 JAX-RS (REST)를 사용하여 (JSF)

  • 재 작성 얼굴 사용

    1. 재 작성 및 풍부한 자바 스크립트 프론트 엔드를 구축 할 수 있습니다.

  • 그리고 당신은 당신이 위에 열거 한 병을 모두 제거하고 당신이 사용 받는다는 포함 할 수 standard Java EE 7 API 사용하는 것, 주어진 :

    <dependency> 
         <groupId>javax</groupId> 
         <artifactId>javaee-api</artifactId> 
         <version>7.0</version> 
         <scope>provided</scope> 
        </dependency> 
    

    이 항아리는 표준 API를 모두 포함을 그 당신은 위의 목록에 있습니다.

    redis와 Apache oauth 지원에 대한 결정도 필요합니다.

    Hibernate는 표준 JPA로 쉽게 마이그레이션 할 수 있습니다.

    로깅은 java.util.logging으로 바꿀 수 있습니다.

    +0

    THX. 저지를 사용할 수 있습니까?내가 아는 한, Jersey는 JAVAEE이지만이 병에는 포함되지 않은 것 같습니다. – Mozzan

    +0

    저지를 직접 사용하지 않을 것입니다. [javax.ws.rs] (http://docs.oracle.com/javaee/7/api/javax/ws/rs/package-summary.html) 및 [javax.json] (http : // docs. oracle.com/javaee/7/api/javax/json/package-summary.html) 패키지는 REST 지원을 제공합니다. 많은 서버 구현은 Jersey를 사용하여 구현합니다. –

    1

    이 종속성을 제거하도록 엄격한 제한이 있습니까?

    예를 들어 보겠습니다. org.apache.log4j은 JEE 라이브러리가 아닙니다. JEE 애플리케이션에서 제거하라는 엄격한 규칙은 없습니다. 모든 JEE 애플리케이션에서 log4j를 즐겁게 사용할 수 있습니다.

    봄 사용은 아무런 의미가 없습니다. Spring은 완벽하게 JEE를 준수하는 많은 도구를 제공합니다.

    제 생각 엔 스폰서가 응용 프로그램이 JEE 응용 프로그램 서버에서 실행되고 있는지 확인하는 것이 좋습니다. 항아리 목록은 이러한 맥락에서 많은 것을 의미하지는 않습니다.

    +0

    후원사는 J2EE를 사용하기를 원합니다. 우리가 봄을 사용했기 때문에 그들은 한 번 프로젝트를 중단했습니다. 그래서 우리는 제안을하기 전에 어떤 라이브러리가 JEE가 아닌지 알고 싶습니다. 이런 프로그램을 만드는 것은 매우 어렵다는 것을 알고 있습니다 ... – Mozzan

    +1

    잠시 후 아무도 J2EE 응용 프로그램을 사용하지 않는다는 것을 후원자가 알고 있습니까? –

    +0

    이것은'java.util' 클래스를 사용할 수 없다는 것을 의미합니까? 그것들은 Java EE가 아닙니다. –

    관련 문제