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로 사용하고 있습니다.
실례합니다.
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