Sunteți pe pagina 1din 34

Faculdade de Tecnologia de Alagoas - FAT

Framework Maven
Instalao do Plugin Maven

Faculdade de Tecnologia de Alagoas - FAT


Autores: Alexandre Joaquim e Elievan Freitas Orientador: Roberth Pinheiro

Criado no dia 10/10/2011

Macei

Sumrio: Gerao da estrutura do projeto. Gesto do projeto de construo. Gesto de dependncia. Utilizao de repositrios organizacionais. Gerao do site do projeto. 1 Passos para instalar o plugin do eclipseMaven 7. Como importar um Projeto utilizando Maven. 8. Criando um projeto com Maven.
1. 2. 3. 4. 5. 6.

Gerao da estrutura do projeto


Maven permite gerar o esqueleto do projeto (layout) aderente as suas converses. Fornece 292 layouts, dentre eles: - Aplicao Java, Groovy, Ruby, Scala. - Site web - Documento Docbook e Latex - Maven archetype( ou seja possvel criar seu prprio layout).

Gesto do Processo de Construo


Maven permite utilizar um processo padro para construo do projeto. Processo composto das seguintes fases (dentro outras): - Compilao - Testes - Empacotamento

Gesto de Dependncia
Meven permite definir dependncias para um projeto.
-

As dependncias so definidas no pom.xml O maven calcula as dependncias considerando transitividade. As dependncias so baixadas por repositrios centrais por demanda.

Utilizao de repositrios organizacional


Maven permite os repositrios que pertence organizao.
-

Funciona como cache dos repositrios centrais. Permite que qualquer projeto Maven seja publicado no repositrio. Permite que projetos Maven acessem suas bibliotecas.

Gerao do site projeto


Maven permite gerar automaticamente um site com os dados principais do projeto.
-

Equipe Biblioteca utilizadas Resultado dos testes Repositrio de cdigo fonte Repositrio de solicitaes de modificaes

1 Passos para instalar o plugin do eclipse-maven


1 Passo claro, ter o ambiente de desenvolvimento Java instalado na sua mquina.
2 Passo Como sabemos o prprio eclipse possui um gerenciador de pacotes (ou plugins) que serve para adicionar, remover ou atualizar ferramentas que no vem com a sua instalao default.

Para instalar o plugin do Maven2 siga os passos abaixo: Menu Help Install New Software

Ento adicione na url: http://m2eclipse.sonatype.org/sites/ m2e

Aps isso faa: Marque Maven Integration for eclipse Depois Next -> Next -> Accept -> Finish Repita o processo para m2e-extra Adicione o site

Marque as opes desejadas do plugin no caso de aplicaes web , marque WTP.

Talvez seja necessrio adicionar parmetros de inicializao ao eclipse. V no diretrio de instalao do eclipse, e edite em modo texto o arquivo eclipse.ini adicione um parmetro de inicializao ao eclipse conforme mostrado abaixo

Aonde, o que est destacado, altere para o diretrio de instalao do Java na sua mquina. Pronto, agora voc j poder usufruir de todas as funcionalidades do Maven dentro do seu eclipse.

Como importar um Projeto utilizando Maven? Basta apenas ir em FILE -> Import -> Select an Import Source (Digite Maven) -> Existing Maven Projets -> E ache o diretrio do seu projeto.

Vamos criar um Projeto com Maven?

Selecione Arquivo > Novo projeto (Ctrl-Shift-N) no menu principal. Selecione Aplicativo corporativo Maven na categoria Maven. Clique em Avanar.

Digite MavenEnterpriseApp como nome do projeto e defina a sua localizao. (Opcional) Modifique os detalhes do artefato. Clique em Avanar

Defina a verso do Java EE como Java EE 6. Selecione Criar mdulo EJB e Criar mdulo da aplicao Web. Clique em Terminar. Ao clicar em Terminar, o IDE cria os projetos seguintes a partir do arqutipo de aplicativo corporativo Maven. EJB. O projeto EJB geralmente contm o cdigo-fonte com a lgica corporativa do aplicativo. O projeto EJB empacotado como um arquivo JAR EJB. Webapp. O projeto Webapp geralmente contm a camada de apresentao do aplicativo, como servlets e pginas JSF e JSP. O projeto Webapp tambm pode conter cdigo-fonte com lgica corporativa. O projeto Webapp empacotado como um arquivo WAR. Assembly. O projeto Assembly utilizado para montar um arquivo EAR a partir dos arquivos EJB e WAR. O projeto Assembly no contm nenhuma origem. Aplicativo corporativo. O projeto de aplicativo corporativo no contm nenhuma origem. O aplicativo corporativo contm somente um arquivo POM (pom.xml) com detalhes sobre os mdulos contidos no aplicativo corporativo

Depois de criar o projeto de aplicativo corporativo, o projeto Assembly identificado porque algumas dependncias no esto disponveis. Se expandir o n Bibliotecas do projeto Assembly JavaEE6 MavenEnterpriseApp-ear, possvel observar que o projeto exige as bibliotecas que esto faltando ou as que no esto no classpath.

Na janela Projetos, possvel clicar com o boto direito do mouse o n "Dependncia sem classpath" e selecionar Expandir dependncias para ver as dependncias que esto faltando. O projeto Assembly possui dependncias em JAR e WAR, que sero empacotadas e estaro disponveis depois que os projetos EJB e webapp forem compilados. possvel observar que os artefatos MavenEnterpriseApp-ejb e MavenEnterpriseApp-web esto listados como dependncias no POM do projeto Assembly. Codificando o projeto EJB O projeto EJB contm a lgica corporativa do aplicativo. Neste aplicativo, o continer GlassFish gerenciar as transaes utilizando a API de transao Java (JTA). Neste tutorial, voc criar uma classe de entidade, um bean controlado por mensagem e uma fachada de sesso para a classe de entidade no projeto EJB.

Especificar o servidor de destino. Ao desenvolver aplicativos Maven, normalmente no necessrio especificar um servidor de aplicativos at que o aplicativo seja construdo. No entanto, neste tutorial voc definir o servidor de destino antes de comear a escrever o seu cdigo, para obter benefcios de alguns dos recursos de gerao de cdigo no IDE. Com a configurao do servidor de deployment, o IDE pode reconhecer as tecnologias suportadas pelo servidor e permite que vrias opes de alguns assistentes gerem cdigo otimizados para tal servidor. Inicie o servidor GlassFish. Clique com o boto direito do mouse no n do projeto EJB na janela Projetos e selecione Propriedades. Selecione a categoria Executar na janela Propriedades. Selecione o servidor GlassFish. Clique em OK. Ao especificar o GlassFish como servidor de deployment antes de criar o cdigo, o IDE oferecer a opo de selecionar JTA no assistente para a criao da unidade de persistncia. Voc tambm pode optar por usar qualquer uma das fontes de dados registradas no servidor

Criando a unidade de persistncia Neste exerccio, ser criada uma unidade de persistncia no projeto EJB. A unidade de persistncia especifica os detalhes da conexo de banco de dados e como as transaes so gerenciadas. Para este aplicativo, voc especificar a JTA no assistente Nova unidade de persistncia, j que deseja que o servidor GlassFish gerencie as transaes. Para criar a unidade de persistncia, execute as seguintes etapas. Clique com o boto direito do mouse no n do projeto EJB e selecione Novo > Outro no menu pop-up para abrir o assistente Novo arquivo. Selecione Unidade de persistncia na categoria Persistncia. Clique em Avanar. Selecione EclipseLink como o Provedor de persistncia na caixa de dilogo Nova unidade de persistncia.

Selecione uma fonte de dados (por exemplo, selecione jdbc/sample se desejar utilizar o JavaDB).A fonte de dados jdbc/sample incorporada ao IDE na sua instalao e do servidor GlassFish, mas possvel especificar uma fonte de dados diferente se quiser utilizar um outro banco de dados. possvel manter as outras opes padro (nome da unidade de persistncia, provedor da persistncia EclipseLink). Certifique-se de que a opo Utilizar APIs de transao Java esteja selecionada e que Estratgia de gerao de tabela esteja definida como Criar, para que as tabelas baseadas nas classes de entidade sejam criadas quando o aplicativo for implantado. Clique em Terminar.

Quando voc clica em Terminar, o IDE cria o arquivo XML persistence.xml e o abre no editor. Na janela Projetos, possvel observar que o arquivo foi criado no diretrioOutras origens > src/main/resources > META-INF. O arquivo contm detalhes sobre a conexo ao banco de dados e como as transaes so gerenciadas. Se clicar em XML no editor, possvel ver os seguintes elementos no persistence.xml

<persistence-unit name="com.mycompany_MavenEnterpriseAppejb_ejb_1.0-SNAPSHOTPU" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provide r> <jta-data-source>jdbc/sample</jta-data-source> <excludeunlisted-classes>false</exclude-unlisted-classes> <properties> <property name="eclipselink.ddl-generation" value="createtables"/> </properties> </persistence-unit>
possvel observar que a JTA est especificada como o tipo de transao e que o aplicativo utilizar a fonte de dados registrada jdbc/sample. Criando a classe de entidade

Neste exerccio, ser criada uma classe de entidade no projeto EJB para representar os objetos que sero persistentes no banco de dados. Para criar a classe de entidade NewsEntity, execute as etapas a seguir. Clique com o boto direito do mouse no mdulo EJB na janela Projetos e selecione Novo > Outro para abrir o assistente Novo arquivo. Selecione Classe de entidade na categoria Persistncia. Clique em Avanar. Digite NewsEntity para nome da classe. Digite ejb em Pacote e deixe Tipo de chave primria como Longa. Clique em Terminar. Ao clicar em Terminar, a classe de entidade NewsEntity.java se abrir no Editor de cdigo-fonte. No Editor de cdigo-fonte, adicione alguns campos executando as etapas a seguir.

Adicione as seguintes instrues de campo classe.private String title; private String body; Clique com o boto direito do mouse no editor de cdigo-fonte e selecione Inserir cdigo e, em seguida, selecione Getter e Setter no menu pop-up. Na caixa de dilogo Gerar getters e setters, selecione os campos body e title. Clique em Gerar. Corrija as importaes e salve as alteraes. Criando o bean controlado por mensagem Neste exerccio, ser criado um Bean controlado por mensagem no projeto EJB. Um bean controlado por mensagem um enterprise bean que permite a troca assncrona de mensagens. O aplicativo NewsApp utiliza um bean controlado por mensagem para receber e processar mensagens enviadas fila por um servlet no mdulo da Web.

Para utilizar um bean controlado por mensagem em um aplicativo, os recursos de conector utilizados pelo bean precisam estar registrados no servidor. Enquanto estiver implantando no servidor GlassFish, voc poder criar os recursos diretamente no servidor atravs do Console administrativo ou poder cri-los no deployment pela especificao de detalhes no arquivo resources.xml. Quando o aplicativo implantado no servidor, o servidor registra os recursos com base no sun-resources.xml. Ao utilizar o assistente Novo arquivo no IDE para criar um bean controlado por mensagem, o IDE gerar os elementos em sun-resources.xml para voc. Em um projeto Maven, o arquivo resources.xml est localizado no diretrio src/main/setup sob o n Projeto na janela Arquivos.

Clique com o boto direito do mouse no mdulo EJB na janela Projetos e selecione Novo > Outro para abrir o assistente Novo arquivo. Na categoria Java EE, selecione Bean controlado por mensagem. Clique em Avanar. Digite NewMessage para Nome EJB. Selecione ejb na lista suspensa Pacote. Clique no boto Adicionar ao lado do campo Destino do projeto para abrir a caixa de dilogo Adicionar destino da mensagem. Na caixa de dilogo Adicionar destino da mensagem, digite jms/NewMessage e selecione Fila como o tipo de destino. Clique em OK

Certifique-se de que o destino do projeto esteja correto. Clique em Terminar

Ao clicar em Terminar, o IDE gera a classe de bean e adiciona as anotaes seguintes que identificam a classe como um bean controlado por mensagem e as propriedades de configurao.

MessageDriven(mappedName = "jms/NewMessage", activationConfig = { @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") }) public class NewMessage implements MessageListener { public NewMessage() { } public void onMessage(Message message) { } }
Introduza o recurso MessageDrivenContext na classe, adicionando o seguinte campo anotado classe.public class NewMessageBean implements MessageListener { @Resource private MessageDrivenContext mdc; Introduza o gerenciador de entidade na classe, adicionando o seguinte campo anotado (em negrito).public class NewMessage implements MessageListener { @Resource private MessageDrivenContext mdc; @PersistenceContext(unitName="com.mycompany_MavenEn terpriseApp-ejb_ejb_1.0-SNAPSHOTPU") private EntityManager em;

A anotao @PersistenceContext especifica o contexto ao declarar a unidade de persistncia. O valor de unitName o nome da unidade de persistncia. Adicione o seguinte mtodo save (em negrito).public NewMessage() { } public void onMessage(Message message) { } public void save(Object object) { em.persist(object); }
Modifique o mtodo onMessage, adicionando o seguinte (em negrito) ao corpo:

public void onMessage(Message message) { ObjectMessage msg = null; try { if (message instanceof ObjectMessage) { msg = (ObjectMessage) message; NewsEntity e = (NewsEntity) msg.getObject(); save(e); } } catch (JMSException e) { e.printStackTrace(); mdc.setRollbackOnly(); } catch (Throwable te) { te.printStackTrace(); } } ...

S-ar putea să vă placă și