2014-11-09 3 views
1

Tomcat 8을 새 웹 응용 프로그램의 서버로 사용하려고합니다. Java EE 7 웹 프로파일 기술, 그 중에서도 EJB Lite 사양을 많이 사용할 것입니다.Tomcat 8 + Maven + Java EE 7 웹 프로파일

웹 앱 프로젝트는 실제로 다른 몇 가지 메이븐 프로젝트로 구성됩니다. JAX-RS 2.0을 사용하는 rest-api 프로젝트, 현재 병 (jar)로 패키징 된 비즈니스 프로젝트 및 도메인 프로젝트 (jar)도 있습니다. 필자는 공통적 인 의존성을 가지고 있는데, 이는 별도의 모듈 인 "common-deps"(pom 패키지)에 패키지되어 있습니다. 이러한 종속성 중에는 Java ee 7 웹 프로필 사양이 있습니다. 다른 모든 프로젝트는 "공통 - deps"프로젝트에 의존합니다.

다음은 공통 deps 프로젝트의 pom.xml 파일입니다 :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

     <modelVersion>4.0.0</modelVersion> 
     <groupId>....</groupId> 
     <artifactId>commons-deps</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <packaging>pom</packaging> 
     <name>Common dependencies</name> 

     <properties> 
     <cdi.version>1.1</cdi.version> 
     <sl4j.version>1.7.7</sl4j.version> 
     <log4j.version>1.2.17</log4j.version> 
     <junit.version>4.11</junit.version> 
     </properties> 

     <dependencies> 

     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>7.0</version> 
      <scope>provided</scope> 
     </dependency> 
    <!-- 
    <dependency> 
     <groupId>javax.enterprise</groupId> 
     <artifactId>cdi-api</artifactId> 
     <version>${cdi.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    --> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${sl4j.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${sl4j.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>${log4j.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>${junit.version}</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

</project> 

것은 내가 @Stateless 주석과 무 상태 세션 빈을 만들려고 할 때,이 주석이 발견되지 않는 것입니다. 이유는 모르겠지만 아마도 javaee-web-api 범위가 제공되어서는 안됩니다. 하지만, 내가 이해하는 한, 바람둥이 8이 프로파일을 지원해야합니다 ... 아마 자바 ee apis의 일부를 구현하지 못했기 때문일 수 있습니다. 이것이 사실 인 경우, java ee 웹 프로파일 내의 모든 API에 대한 구현을 지정해야합니까? 그리고 ejb lite API를 위해 어떤 구현을 선택해야합니까?

나는 어디에서나 찾았지만, 바람둥이 8이있는 Java ee 7 웹 응용 프로그램 개발에 대한 자습서를 찾을 수 없었으며, Java ee 스택 (Spring에서 제공)을 처음 접했을 때 나는 틀린 일을해야합니다. Eclipse Luna를 IDE로 사용하고 있습니다.

실례합니다.

+1

tomcat은 웹 컨테이너 일 뿐이며, Web Profile을 지원하지 않습니다. Java EE 웹 프로파일 지원 서버로 앱을 개발하는 데 흥미가 있다면 WebSphere Liberty를 살펴 보는 것이 좋습니다. 이미 Java EE 6 웹 프로파일 인증 (jar/dependency nightmare)이 없으며 Java EE 7 웹 프로파일에서 이미 많은 유용한 기능을 제공합니다. 그것을 확인하십시오 - 개발을위한 https://developer.ibm.com/wasdev/ 무료. Eclipse 용 도구 플러그인 - WebSphere Developer Tools도 있습니다. – Gas

답변

관련 문제