Esclarecimentos na utilização dos arquivos WAR e EAR

Java

15/01/2013

Boa tarde, Eu sei a denominação dos arquivos WAR(Web Archive) e EAR (Enterprise Archive), mas tenho dúvidas na implementação e configuração dos dois. Quando utilizar? Como configurar? Alguém sabe onde posso encontrar uma documentação detalhada sobre cada tipo de arquivo? Estou precisando de passo a passo, do inicio mesmo. Obrigado.
Eduardo Pereira

Eduardo Pereira

Curtidas 0

Respostas

Henrique Andrade

Henrique Andrade

15/01/2013

Oi Eduardo, esta dúvida é muito comum. Mas é tranquilo de entender. O WAR é usado para o empacotamento e deploy de aplicações web. Apenas pra isto. Já o EAR é usado para o empacotamento e deploy de aplicações corporativas. Neste pacote entram o código fonte dos nossos EJBs e também aplicações web, no caso, EARs. Sobre empacotamento de aplicações Java corporativas, a melhor referência que conheço é este link do tutorial do Java EE: http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html
GOSTEI 0
Eduardo Pereira

Eduardo Pereira

15/01/2013

[quote="kicolobo"]Oi Eduardo, esta dúvida é muito comum. Mas é tranquilo de entender. O WAR é usado para o empacotamento e deploy de aplicações web. Apenas pra isto. Já o EAR é usado para o empacotamento e deploy de aplicações corporativas. Neste pacote entram o código fonte dos nossos EJBs e também aplicações web, no caso, EARs. Sobre empacotamento de aplicações Java corporativas, a melhor referência que conheço é este link do tutorial do Java EE: http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html
Opa valeu pela explicação, eu consegui entender, consegui também montar uma estrutura anexando WAR, EJB e JAR em um EAR. Vou anexar como ficou o POM do projeto pai aqui
<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>br.com.dicarte.controlefinanceiro</groupId>
  <artifactId>AdministradorFinanceiro</artifactId>
  <version>0.0.1</version>
  <packaging>pom</packaging>
  <name>Administrador Financeiro</name>
  
  <modules>
  	<module>AdministradorFinanceiroEAR</module>
  	<module>AdministradorFinanceiroEJB</module>
  	<module>AdministradorFinanceiroCTRLL</module>
  	<module>AdministradorFinanceiroWEB</module>
  </modules>
  
   <build>
  	<plugins>
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-compiler-plugin</artifactId>
  			<version>2.3.2</version>
  			<configuration>
  				<source>1.6</source>
  				<target>1.6</target>
  				<compilerVersion>1.6</compilerVersion>
  				<executable>C:\ambiente-novo\jdk1.6.0_06\bin</executable>
  			</configuration>
  		</plugin>
  		
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-ejb-plugin</artifactId>
  			<version>2.3</version>
  			<configuration>
  				<ejbVersion>3.1</ejbVersion>
  			</configuration>
  		</plugin>
  		
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-war-plugin</artifactId>
  			<version>2.1.1</version>
  			<configuration>
  				<webResources>  
		            <webResource>  
		              <directory>$/src/main/webapp/WEB-INF</directory>  
		              <includes>  
		                <include>web.xml</include>  
		              </includes>  
		              <targetPath>WEB-INF</targetPath>  
		              <filtering>true</filtering>  
		            </webResource>  
	          	</webResources> 
  				<archive>
  					<manifest>
  						<addClasspath>true</addClasspath>
  					</manifest>
  				</archive>
  			</configuration>
  		</plugin>
  		
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-ejb-plugin</artifactId>
  			<configuration>
  				<archive>
  					<manifest>
  						<addClasspath>true</addClasspath>
  					</manifest>
  				</archive>
  			</configuration>
  		</plugin>
  		
  		<plugin>
  			<groupId>org.apache.maven.plugins</groupId>
  			<artifactId>maven-ear-plugin</artifactId>
  			<version>2.5</version>
  			<configuration>
  				<displayName>EAR</displayName>
  				<generateApplicationXml>true</generateApplicationXml>
  				<modules>
						<ejbModule>
							<groupId>br.com.dicarte.controlefinanceiro</groupId>
							<artifactId>AdministradorFinanceiroEJB</artifactId>
							<bundleFileName>AdministradorFinanceiroEJB-0.0.1.jar</bundleFileName>
						</ejbModule>
						<webModule>
							<groupId>br.com.dicarte.controlefinanceiro</groupId>
							<artifactId>AdministradorFinanceiroWEB</artifactId>
							<bundleFileName>AdministradorFinanceiroWEB-0.0.1.war</bundleFileName>
							<contextRoot>/AdministradorFinanceiro</contextRoot>
						</webModule>
						<jarModule>
							<groupId>br.com.dicarte.controlefinanceiro</groupId>
							<artifactId>AdministradorFinanceiroCTRLL</artifactId>
							<bundleFileName>AdministradorFinanceiro-0.0.1.jar</bundleFileName>
						</jarModule>
					</modules>
  			</configuration>
  		</plugin>
  	</plugins>
  </build>
  
  <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>
  	
  	<repository>
  		<id>prime-repo</id>
  		<name>Prime Technology Maven Repository</name>
  		<url>http://repository.prime.com.tr</url>
  		<layout>default</layout>
  	</repository>
  </repositories>
</project>
Em relação aos outros projetos, só os criei como módulos do projeto PAI e executei um CLEAN INSTALL do Maven e toda a estrutura foi gerada.
GOSTEI 0
Eduardo Pereira

Eduardo Pereira

15/01/2013

Vc esta colocando o WAR e um EAR dentro de outro EAR mais externo?
GOSTEI 0
POSTAR