A partir da versão 3.1 do EJB é possível a utilização de recursos do EJB dentro de uma compactação .WAR, ou seja, é possível criar um projeto web que utilize EJB em apenas um projeto .WAR, segue a baixo a configuração de um projeto Maven que permite essa utilização :
pom.xml
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>br.com.emmanuelneri</groupId> <artifactId>war-project</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>webApp</artifactId> <packaging>war</packaging> <name>Web App</name> <repositories> <repository> <id>maven2-repository.dev.java.net</id> <name>Java.net Repository for Maven</name> <url>http://download.java.net/maven/2</url> </repository> </repositories> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> </project>
Para utilizar essa configuração, crie um projeto maven como o archetype id = maven-archetype-webapp e adicione 3 configurações listada a cima :
- Configure um novo repositório para achar a dependência javaee-api, caso não for adicionado o maven irá procurar no seu repositório padrão onde não se encontra essa lib.
- Configure uma nova dependencia para adicionar recursos EJB no projeto, adicionando o lib javaee-api
- Configure o plugin maven-war-plugin para gerar o projeto ser compilado em um arquivo .WAR