Lançamento Oficial do Livro JEE com Frameworks

Comprar

ae Pessoal,

Hoje é mais um dia feliz na minha vida, e primeiramente quero agradecer à todos vocês, pela força, atenção, feedbacks que venho recebendo nesses 3 anos de blog e sem eles, acho que não estaria aqui hj fazendo este post e publicando mais este projeto. Pois, meu segundo filhão nasceu, huhuhu \o/. Lindo igual ao pai, por consequencia do destino hehe. Uma das novidades é que além do formato impresso, temos a versão e-book. A seguir fiz um overview,há um post detalhado de  pré-lançamento aqui.

Lets go…

Note: Infelizmente, tivemos um problema na linha de produção da gráfica e atrasou a publicação que estava prevista para meados de julho/2011.

Agradecimento

Antes de tudo, preciso agradecer ao melhor amigo o Edson Gonçalves. Amigo este de longas datas, o qual eu tenho grande admiração e respeito. É um dos profissionais mais completos de TI que já pude conhecer, o cara tem um conhecimento cross que é uma coisa de louco(não se limita só a parte técnica). Fora amizade que temos, onde às vezes pego o caminho errado, o verdadeiro amigo aparece e ti fala:”Falei que poderia contar comigo, o caminho  é aquele vai em frente”. Esse é o Edson um amigo de verdade.

Outra pessoa que não posso deixar de agradecer é o Daniel de Oliveria (leader-DFJUG) de uma das maiores e respeitável comunidade de Java que temos no Brasil, estou falando do DFJUG. E não poderia deixar de dar minha contribuição (para quem não sabe eu vim da comunidade Java, foi onde tudo começou e hoje retribuir o que recebi é o minimo que posso fazer), adicionado a marca  na capa do livro. Obrigado Daniel pelo seu apoio e da comunidade :).

Overview

O livro tem como objetivo de ajudar aqueles profissionais que desejam aprender Java com Frameworks. É comum ao sairmos do “ABC do JEE” (normalmente é JSP/Servlet) sem saber qual framework estudar (Hibernate, JSF, Spring, “Struts”, VRaptor etc). Porém, há um problema que todo iniciante encontra: como aprender os frameworks e saber integrá-los em uma aplicação real? É isso que vamos ver no livro, aprender a usar os frameworks de forma prática e ver um pouco da teoria(se não gosta de teoria não se preocupe, pois veremos o suficiente para poder programar de maneira confortável). Os exemplos são variados, desde Java Application até JEE, a evolução de aprendizado no livro está no formato “baby-step” ajudando assim o leitor leigo no assunto. Uma novidade que alguns vão gostar e outros não, são os exercícios chamados de “Trabalho do dia” que tem como objetivo fazer o leitor desenvolver uma solução, porém há momentos que o leitor vai precisar fazer uma pesquisa na documentação da API, Google ou consultar outros capítulos.Porém, não avisamos isso no livro, então  o leitor terá que ter essa percepção. O motivo de ter adotado isso aos exercícios, transmitir um pouco do que vai encontrar no dia-dia como desenvolvedor in company, pois nem sempre teremos um colega do lado para dar o help que precisamos.

Público-Alvo

Programadores Java que tem como objetivo aprender de forma pratica o uso dos frameworks JEE mais requisitado no mercado.

Qual o diferencial?

Meus livros são diferentes, primeiramente pela escrita. Eu gosto muito da informalidade, de ser direto e tentar transmitir a informação da melhor maneira possível, como se eu tivesse ao lado do leitor. Nesse livro há vários diferenciais, um deles é o nosso laboratório on-line onde o leitor poderá fazer download do source, assistir uns vídeos de como colocar aplicação em um servidor de produção JEE(apoio da www.integrator.com.br), exercícios práticos etc.

Quando ler?

Assim, que terminar seus estudos, com Servlet & JSP, vc pode ler, do contrário, não faça o investimento agora e aguarde mais um pouquinho( coloque o livro na prateleira ou remova do seu carrinho de compras : ) ).

Requisitos

É preciso já ter uma certa experiência com Java, Banco de dados, saber como as aplicações JEE funcionam etc. Como o livro é focado em ensinar a usar de forma pratica os frameworks, não podemos perder tempo com toda teoria de JEE, então vamos direto ao assunto.Particularmente não gosto de livros grandes, eles ficam mais caros e o que eu quero é um preço acessível para todos, enfim até os que recebem mesada podem comprar (pelo menos a minha na época que tinha, os livros eram caros demais rs).

Desconto

Se quiser comprar o exemplar com 30% de desconto no site da Editora, basta usar o código a seguir durante a compra: V00014 e se cadastrar como associado.

Concorra Sorteio será 21/08/2011

Faça um RT da mensagem abaixo e sua inscrição, assim terá a chance de receber um exemplar na sua casa autografado(se preferir). Para sorteio usaremos o random.org e o número sorteado será o ganhador e a verificação do RT  Lembrando que para aqueles que fizeram mais de um cadastro com o mesmo e-mail, não estará concorrendo ao exemplar.

Lançamento do Livro Guia JEE c/ frameworks @RT: @camilolope #JEE #frameworks.Confira:

Lançamento Oficial do Livro JEE com Frameworks

Após, o resultado entrarei em contato pelo e-mail cadastrado e o ganhador tem até 48 hrs para responder, após o envio  do e-mail.Do contrário um novo sorteio será realizado, e o ganhador anterior acabou de perder a chance de receber o livro. : )

Fazer inscrição

Você pode deixar de ganhar se não fizer isso:

  • cadastrar e não fazer o RT;

  • fazer o RT e não se cadastrar;

A qtde de RT fica por sua conta, se quiser fazer mais de RT, ficarei feliz :).

Versão do Livro

  • Paper – R$ 47,20
  • E-book  – R$ 35,40

Eu quero comprar o meu

Onde comprar?

  • Site da Editora
  • Saraiva
  • Cultura
  • Fnac
  • Americanas.com
  • Submarino
  • e outras que eu não lembro rs

Download

Conseguir com a editora amostra de algumas páginas do livro, confiram aqui

Vou ficando por aqui e espero que tenham gostado do post.

Abracos see ya!!

Cobertura Unit Test com Eclemma

olá Pessoal,

Neste post vou falar de um plugin que temos para o Eclipse que permite saber quantos % de nossos testes de fato estão cobertos. É comum pensarmos que 100% dos nossos testes unitarios estao 100% cobertos apenas pq todos os testes passam. Quem aqui quando começou com test units não pensou nisso (eu confesso que achava isso). E neste post eu pretendo apresentar uma ferramenta que permite descobrir e dar um resultado no formato de relatório o quanto o seu code está coberto.

Lets go…

Iniciando

O plugin que vamos usar é chamado de Eclemma, ele pode ser baixado ou instalado via update no Eclipse. No site do fabricante há todas informações sobre o plugin, alguns tutoriais básicos e com imagens ilustrativas. Enfim, não tem erro para começar a usar.

Após, a instalação do plugin e o restart do Eclipse a única diferença que vc vai perceber na sua IDE é que teremos um novo botão para rodar os testes com Coverage, ou seja, “execute o testes com o plugin para eu ter relatorio da cobertura” seria algo mais ou menos assim que o botão abaixo faz.

 

Algumas Características:

  • permite exportar em html os relatorios;
  • suporte Junit 4
  • suporte ao ant, ou seja, vc pode gerar os relatórios a partir do ant
  • Baixa curva de aprendizado.

 

Antes de ir para o tópico a seguir certifique-se que já o plugin está instalado.

Praticando

Não irei abordar todos os recurso do plugin até pq nao tem tanta coisa assim, só ficar brincando um pouco com a ferramenta que alguns minutos dar para saber tudo que ela faz. Porém, para o post reservei um exemplo muito simples, onde o objetivo é mostrar como de fato a ferramenta trabalha e vai ti ajudar no aumento de cobertura dos seus testes unitarios. Criei um projeto que calcula a “Multa Mora” para alguma coisa.Isso pouco importa a questão é que essa classe recebe valores e através de um calculo financeiro terá que retorna um valor da multa a ser paga. O objetivo aqui não é ser um post para area de finanças, então deixaremos isso de lado, mas para vc saber criar bons testes precisa entender do negócio e calcular um juros simples é algo que bem do dia-dia. A seguir temos a nosso Java Project e o código da classe com seu devido calculo.

Classe MultaMora

publicclass MultaMora {

private BigDecimal taxaDia = new BigDecimal(0.33);

private BigDecimal taxaMaxima = new BigDecimal(20.00);

public MultaMora() {

// TODO Auto-generated constructor stub

}

public BigDecimal verificaAtraso(String dataVencimento, String dataPagamento,

BigDecimal valor) throws ParseException {

DateFormat df = new SimpleDateFormat(“dd/MM/yyy”);

Date dateVenc = df.parse(dataVencimento);

Date datePagto = df.parse(dataPagamento);

Calendar calendarVenci = Calendar.getInstance();

calendarVenci.setTime(dateVenc);

Calendar calendarPagto = Calendar.getInstance();

calendarPagto.setTime(datePagto);

long diferencaData = calendarPagto.getTimeInMillis()- calendarVenci.getTimeInMillis();

int umDia = 1000 * 60 * 60 * 24;

long diasDiferenca = diferencaData / umDia;

BigDecimal novoValor = calculaMulta(diasDiferenca,valor);

return novoValor;

// return diasDiferenca;

}

public BigDecimal calculaMulta(long diasAtrasado, BigDecimal valor) {

BigDecimal totalTaxa = taxaDia.multiply(new BigDecimal(diasAtrasado));

BigDecimal divisor = new BigDecimal(100);

double ttaxa = totalTaxa.doubleValue();

double ttaxamax = taxaMaxima.doubleValue();

if (ttaxa<=ttaxamax) {

return valor;

} else {

BigDecimal valorMulti= valor.multiply(taxaMaxima);

valorMulti = valorMulti.divide(divisor);

valor = valorMulti.add(valor);

return valor;

}}}

Vamos ao que interessa que é criar a classe que fará os testes e em seguida veremos quantos % de nossa classe é coberta, para isso criamos os seguites testes, o qual vai está passando.

publicclass MultaMoraTeste {

@Test

publicvoid testPeriodoValidoMes() throws ParseException {

assertEquals(new BigDecimal(120), new MultaMora().verificaAtraso(

“10/11/2010″, “20/01/2011″, new BigDecimal(100)));}

@Test

publicvoid testCalculaValor(){

//TODO

}}

Testes Passando

Vimos que os testes estão passando tranquilamente. Nada de errado, pois esperamos que eles uma hora ficasse verde. Não vamos discutir aqui o ciclo de TDD.

Agora veremos quantos % nossa aplicação está coberta pelos testes. Então precisamos rodar os testes agora usando o plugin Eclemma e para isso temos que rodar conforme a imagem a seguir:

Ao executar observe os tests units foram executados e logo em seguida temos o relatorio de cobertura.Veja que 98% não é 100% , isso é evidente, mas tem que ficar claro na sua mente que não temos 100% dos testes, e vamos navegar na arvore e ver quem não está coberto segundo a ferramenta. Mas, antes disso observe que temos quatro colunas, sendo de fácil interpretação. A primeira fala o % coberto, a segunda as instruções cobertas, a proxima instruções não cobertas e a ultima o total de instruções.Podemos ver que o método calculaMulta não está 100, mas onde não está 100%? o que está faltando? Para ver isso basta dar dois cliques em cima do método na aba Coverage, que veremos o resultado a seguir:

Observe que temos no nosso code, linhas verdes e uma vermelha, a verde significa que aquela linha está coberta pelo teste, a vermelha como sempre é um problema que precisamos resolver, ou seja, linha não está cobert. Em outras palavras não temos nenhum teste que valide aquele valor. Então vamos resolver o problema. Para isso, vamos adicionar o seguinte teste na classe de Test que criamos.

@Test

publicvoid testCalculaValor(){

BigDecimal testValor = new MultaMora().calculaMulta(1, new BigDecimal(3));

assertEquals(new BigDecimal(3),testValor);

}

Observe que agora estamos verificando aquela valor que é return ele de fato nao tinha sido testado, então criamos esse teste somente para verificar aquela parte e saber se ele vai retornar de fato o que esperamos. Rode os testes com cobertura novamente e veja agora o resultado.

Agora temos 100% de cobertura em nosso código, observe que coisa mais linda de ser vista. Porém, isso aqui foi com um exemplo muito simples com o objetivo de mostrar a vc leitor como saber quantos % de seu code está coberto. Para praticar vc pode pegar projetos antigos seus e tentar cobrir alguns cenários. Não posso deixar de falar que 100% de cobertura não significa que seu code é o melhor do mundo, o mais interessante são os testes que vc possui, sempre que for escrever seus unit tests pense, o quanto esses são eficientes. O percentual de cobertura vira consequência qto mais eficiente for seu teste.

Enfim, espero que tenham gostado do post!!
abracos,

see ya! Next post.

Criteria Hibernate parte II

opa! Pessoal,

Neste post veremos mais algumas restrições importantes que temos na API Criteria. Não deixarei de apresentar os codes, mais ainda não faremos nada pratico com o BD, reservei este momento para um outro post, onde vamos “respirar” toda série de modo mais prático em um único post, e focar mais no entendimento e uso do Criteria. Principalmente se você está começando agora nada melhor que ir passo-passo.

Lets go…

note: Uma coisa é certa: Quer aprender e melhorar seus conhecimentos? use a documentação, ela é tão explicativa quanto um tutorial passo-passo, uma das melhores documentações que já li, e o segredo não é decorar e sim ir implementado com base nas necessidade, crie situações (caso não tenha) e vá implementado aos poucos, quando menos esperar já vai está dominando as principais. Essa é minha dica. 🙂

Restrições com Criteria API

Uma outra restrição bem legal é o uso do >=, >, <=,< que fazemos no SQL,HQL etc. No Criteria temos métodos que nos ajudam na implementação desses operadores: gt(),ge(),lt(),le().

  • gt() = maior que

  • ge() = maior ou igual que

  • lt() = menor que

  • le() = menor ou igual que

Saber de onde os métodos pertencem é tão importante quando saber usá-los. Os citados acima vem da classe Resctrictions. Exemplo:

crit.add(Restrictions.ge(“preco”, new Double(100.00));

A leitura é bem simples: retorna todos os produtos com o preço maior ou igual 100.00. um dos pontos importante no uso de Criteria é quando precisamos usar AND e OR nas restrições.

crit.add(Restrictions.gt(“preco” new Double(100.0));

crit.add(Restrictions.like(“nome”, “smart%”));

List lista = crit.list();

A leitura é a seguinte: retorne produtos com o preco maior que 100.0 e (AND) que tenha o nome “smart” como parte da String.

Agora se precisarmos do OR, veja como fica:

Criterion preco = Restrictions.gt(“preco”, new Double(100.0));

Criterion nome = Resctrictions.like(“nome”, “smart%”);

LogicalExpression orExp = Resctrictions.or(preco,nome);

crit.add(orExp);

List list = crit.list();

A lógica é a seguinte: retorne produtos com preco maior que 100.0 ou que tenha “smart” na palavra. Na linha 4 adicionamos o resultado. Então a linha 2 somente é executada caso a primeira seja falsa.

Quando queremos mais que duas diferentes sequencias de OR poderíamos usar a classe Disjunction que fica em org.hibernate.Disjunction para representar uma disjunction. Sem sombras de duvidas usar disjunction é mais conveniente que vários OR no código, veja como fica:

Criterion preco = Resctrictions.gt(“preco”, new Double(100.0));

Criterion nome = Resctrictions.like(“nome”, “smart%”);

Criterion fornecedor = Restrictions.like(“fornecedor”, “nokia%”);

Disjunction dis = Resctrictions.disjunction();

dis.add(preco);

dis.add(nome);

dis.add(fornecedor);

cri.add(dis)

List lista = crit.list();

A leitura do código acima seria:

Retorne os produtos que tenha o preço maior que 100.0 ou (or) que tenha na parte da string a palavra “smart” ou que tenha na propriedade fornecedor a palavra “nokia”. Para fazer com o AND usamos o método conjunction() da classe Resctrictions.

Conjunction conj = Restrictions.conjuction();

Apenas alteramos de disjunction  para  a linha acima e assim temos a  clausula AND.

Vou ficando por aqui e espero que tenham gostado do post que foi simples e rápido.

See you next post, guys!!

abracos,

Iniciando com Hibernate

olá Pessoal,

Estarei dando inicio à uma série de posts sobre o Hibernate. O motivo é que sofri no inicio como todo iniciante. Principalmente nos princípios básicos.E ainda tenho meus sofrimentos quando preciso de algo mais avançado e bem especifico a um problema ou sistema legado onde o Hibernate está presente, dai vem o nosso amigo google, consultando os colegas mais vividos com a tecnologia etc. Mas, nos posts vou buscar dar uma luz para quem acha que está na escuridão, nesse inicio com o framework. Apesar que já temos alguns posts usando o Hibernate que podem ser visto aqui. Hoje veremos como usar Hibernate e para não ficar um post grande e cansativo, vou limitar a recursos simples do framework. Então veremos como configurar o Hibernate em um projeto java e depois ver o “brinquedo” funcionando.

Lets go…

Requisitos

  • Instalação Mysql 5 ou superior
  • Instalação Java 5 ou superior
  • Eclipse (qualquer versão)

Note

Usarei o Hibernate 3.2.x, pois é que tenho aqui nos meus projetos. Como ainda não tive a necessidade baixar a versão mais recente, mas para o que vamos fazer aqui, não precisa ser a versão mais recente.

Não usarei annotations nest post, até pq temos um post já sobre o assunto, então vou usar mapeamento, o motivo é que na minha opinião todos que vão iniciar com Hibernate precisar conhecer os mapeamentos XML, antes de ir para os Annotations. Os mapeamentos ainda é uma realidade em sistema legado, e vale lembrar que sistema legado eles representam uma boa parcela de oportunidades no mercado Java que pedem o Hibernate como framework. Não esqueça disso. Pois, um dia você vai precisar entender o mapeamento que alguém fez há alguns anos atras.


Preparação do ambiente

  1. primeiro passo é baixar o hibernate core no site www.hibernate.org para esse exemplo estou usando a versao Hibernate 3.2.1.GA e o Hibernate tools 3.24.ga
  2. Descompacte os arquivos
  3. abra o eclipse
  4. vá em windows preferences e digite user no campo de filter do eclipse
  5. Clique em New e em nome coloque Hibernate 3.2
  6. Agora vamos adicionar os .jars a essa biblioteca clique em add external jars.
  7. Bem, eu poderia simplesmente dizer selecione todos os arquivos da pasta lib do hibernate, mas não é necessário pois muitos arquivos nem serão executados. Veja na imagem abaixo os arquivos que vc precisa adicionar
  8. Mas, como vc sabe que sao esses arquivos Camilo? Simples, tem um arquivo chamado _README.txt na pasta lib do hibernate e lá ele informa quais arquivos são required. Se tiver dúvida dar uma olhada.
  9. Detalhe importante o arquivo hibernate3.jar não fica em lib e tb não consta na lista de arquivo required no _README.txt, mas vc deve adiciona-lo ele é essencial. Esta informação você consegue na documentação do Hibernate.
  10. Uma vez pronto a library com o Hibernate, faça o mesmo para o Driver MySql. Crie uma nova library e adicione o .jar do Banco de Dados. Obtenha o Driver do site da MySQL: http://www.mysql.com/downloads/connector/j/5.1.html
  11. Crie um Java Project no Eclipse
  12. adicione as bibliotecas no seu projeto. Clique com o botão direito e vá em propriedades ==> Java Build, na aba escola libraries e clique em add library ==> user library e marque as library que acabamos de criar.

Desenvolvimento

  1. Chegamos na parte mais divertida – “desenvolvimento”. Crie um package em src chamado br.com.bean
  2. E crie uma classe chamada de Message (sem o metodo main). Agora deixe a classe conforme abaixo.
    package br.com.bean;
    
    public class Message {
    	private String message;
    
    	public Message() {
    		// TODO Auto-generated constructor stub
    	}
    	public Message(String message) {
    		this.message = message;
    	}
    	public String getMessage() {
    		return message;
    	}
    
    	public void setMessage(String message) {
    		this.message = message;
    	}
    
    }
  3. Crie uma classe chamada TesteMessage (com o método main) e deixe conforme abaixo.
  4. 
    package br.com.bean;
    
    
    
    import org.hibernate.Session;
    
    import org.hibernate.SessionFactory;
    
    import org.hibernate.cfg.Configuration;
    
    
    
    public class PopulaMessage {
    
    
    
    	/**
    
    	 * @param args
    
    	 */
    
    	public static void main(String[] args) {
    
    		SessionFactory factory = new Configuration().configure().buildSessionFactory();
    
    			Session session = factory.openSession(); 
    
    			session.beginTransaction(); 
    
    		Message m1 = new Message("lopes"); 
    
    			session.save(m1);//salvando o objetos persistenced 
    
    			session.getTransaction().commit();
    
    			session.close();
    
    		System.out.println("Salvo com sucesso no banco de dados");
    
    	}
    
    
    }
    
    
    
    
  5. por enquanto s isso, vamos agora criar os arquivos de configuração do hibernate com o BD + o mapeamento com classe.

Configuração Hibernate

  1. Abra a perspective Hibernate e depois vá em File ==> New ==> e escolha a opção conforme a imagem abaixo:
  2. clique em next.Escolha a classe que será mapeada, ou seja, Message. clique em add class
  3. clique em finish
  4. E agora adicione os codes abaixo(tive que colocar no formato de imagem, para evitar que o código fosse quebrado pelo plugin):
  5. Vamos criar o arquivo de configuracao Hibernate com o BD para isso faça o mesmo processo do passo 1, porem escolha a opcao conforme a imagem a seguir:
  6. Deixe o nome padrao sugerido e clique em next
  7. agora escolha o projeto e o package. No meu caso será MessageEx/src .
  8. Na próxima tela precisamos configurar o BD.Então deixe conforme a imagem a seguir:
  9. Apos ter configurado clique em finish
  10. Adicione o code a seguir no arquivo de configuração (hibernate.cfg.xml). É apenas o mapeamento da classe que representa nossa table no BD. Afinal de contas o hibernate precisa saber em que tabela ele deve obter/inserir informações, por isso usamos o mapeamento.

    <mapping resource=”mapping.hbm.xml”/>

    Ficando assim todo o codigo:

Testando

  1. para testar é bem simples. Vá na classe TesteMessage.java e clique em Run==> Java Application.
  2. Em seguida verifique se a informação foi inserida no BD. Não esqueça de dar um start no BD. Caso contrario receberá várias exceções.

Bom, vou ficando por aqui espero que o post tenha ajudado e motivado aqueles que estão iniciando com Hibernate. Abracos e até o proximo post. 🙂

Eclipse Helios + TomCat Ubuntu

olá Pessoal,

Neste post mostarei como instalar o Eclipse Helios e o TomCat 7 no Ubuntu, apesar que eu tenho outros posts parecidos, mas depender da distribuição ou versão dos software a serem instalados, alguns passos podem sofrer alterações. O objetivo aqui é mostrar para quem tem interesse em ter um cenário com Linux para ambiente de desenvolvimento com Java na plataforma JEE. Eu particulamente não uso o Windows como ambiente de desenvolvimento há algum tempo e não consigo mais usar o sistema do Tio Gates para esse fim. As vantagens já conhecemos, porém quero destacar que conheço muitos programadores que já tentou, mas antes da primeira semana retornou ao Windows, por questão de zona de conforto. Confesso que passei por isso, e retornei varias vezes para esta “zona”, porém chegou um dia a superação foi fator decisivo, quando fui trabalhar em uma empresa onde o uso do Linux era default. Daí fiquei no beco sem saída e sair de lá com “mal hábito”, hoje pode dizer que eu e o pinguim somos já amigos, não grande amigos, porém amigos. Vamos deixar de papo e ir para o que importa rs.

Lets go…

Post Recomendado

Para instalar o Eclipse Helios no Ubuntu sem complicação, você vai no url a seguir e faz o download com base se seu ambiente é 32-bits ou 64.

http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/heliossr1

após o download ter concluído, normalmente ele vai para a pasta de Downloads caso esteja usando o Firefox.

Antes de mais nada vamos dar permissão 755 para o arquivo ainda zipado então digite:

sudo chmod 755 eclipse-jee-helios-SR1-linux-gtk.tar.gz

Ele estava assim:

Vamos descompactar o arquivo, normalmente eu coloco /opt, porem você pode escolher o diretorio de sua preferencia. Para descompactar é bem simples, caso não goste de executar comandos, faça como você faz no Windows, botão direito e mande extrair.

Se preferir segue o comando:

sudo tar xvfz eclipse-jee-helios-SR1-linux-gtk.tar.gz -C /opt

Antes de darmos a permissão vamos criar um link (atalho) para o Eclipse, no diretorio /usr/bin. Digite, os comandos abaixo:

Quando o gedit abrir insira deixe conforme a imagem a seguir:

Dando a permissao para executar o arquivo “eclipse” que acabamos de criar: sudo chmod 755 /usr/bin/eclipse

Agora vamos criar um link simbolico para o menu de Applications do Ubuntu, digite:

sudo gedit /usr/share/applications/eclipse.desktop

E configure seu arquivo semelhante à imagem abaixo, a diferença vai estar no arquivo imagem PNG que gera o icone, que depender da versão que baixou, o diretorio pode mudar de nome, verifique navegando pela pasta do eclipse e atualize:

Abrindo o eclipse e escolha seu workspace, pode ser o padrao

Clique em OK para abrir o Eclipse.

Já podemos trabalhar com ele, e fazer nossos projetos Java Project uma vez que já temos o Java Instalado. Mas, vamos precisar do TomCat para nossos Projetos JEE. Então vamos instalar o TomCat direto do Eclipse.

TomCat no Eclipse

Para instalar o TomCat é muito simples, vamos pegar a versão mais recente, que será o TomCat 7. Você pode ir no site do TomCat e baixar o arquivo e descompactar ou usar o comando wget para fazer o download diretamente, veja:

wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-7/v7.0.5-beta/bin/apache-tomcat-7.0.5.tar.gz

O link direto é esse: http://tomcat.apache.org/download-70.cgi no final das contas vai dar no mesmo, se reparar o link la no site do TomCat vai apontar para o link do wget acima.

Faça o mesmo processo que fizemos com o Eclipse, dê a permissão 755 para o arquivo ainda zipado, depois descompacte o arquivo e em seguida mova ele para o diretorio /opt

Vamos mudar de nome para ficar melhor para trabalhar digite:

sudo mv /opt/apache-tomcat-7.0.5/ /opt/tomcat7.0.5

Agora vamos atribuir que o dono do grupo será o meu usuario camilo, então digite:

sudo chown -R camilo /opt/tomcat7.0.5/

E agora vamos dar permissao para execução dos scripts do TomCat:

sudo chmod +x /opt/tomcat7.0.5//bin/*.sh

Vá para o Eclipse, e em Windows ==> Preferences.

E clique em server, conforme a imagem a seguir:

Clique em Add a direita e escolha o Tomcat 7:

E em seguida informe o local de instalação do TomCat deixando conforme a imagem a seguir:

Agora vamos criar um projeto JEE, para ver se funciona de fato. Veja,:

Dê o nome ao seu projeto, e clique em next até finish. Veja o que o Eclipse já encontrou o Tomcat.

Crie um arquivo index.jsp em WebContent, como a seguir:

Na parte inferior clique em Server, e em seguida dê dois cliques no servidor:

A tela que abre escolha, conforme abaixo:

Salve e execute o projeto JEE:

E deve obter a seguinte tela:

Clique em next até finish.

Assim acabamos de montar nosso ambiente JEE com TomCat 7 no Ubuntu/Linux, desta vez com OpenJDK.

Espero que tenham gostado do post, apesar de grande, é bem fácil e rapido instalar/configurar o ambiente.

abracos see you next post!!