Sobre esse Tutorial

Néki Technologies.

Agradecimentos ao Néki Team!

Introdução

O Eclipse é um framework para integrar diferentes tipos de aplicações. Uma de suas aplicações é a JDT(Java Development Tooling), a qual já vem com o Eclipse.

Essas aplicações são oferecidas em forma de plugins e automaticamente reconhecidas e integradas pela plataforma. Tendo seus próprios recursos para gerenciamento de mecanismo, que são geralmente arquivos no seu Hard Disk. Eles residem no seu workspace, uma pasta especial localizada no seu sistema de arquivos. As aplicações instaladas comunicam-se entre si, com isso, se uma aplicação altera um recurso qualquer, todas as outras aplicações instaladas serão notificadas sobre essa mudança, garantindo uma consistência e integração em todo o seu ambiente de desenvolvimento.

Um usuário sempre trabalha no workbench, a parte "visível" da plataforma(GUI). A perspectiva escolhida determina a aparência atual do workbench. A perspectiva é uma coleção conhecida como "views e editores" que contribuem com ações especiais para o menu e a toolbar.

A maioria das views mostra informações especiais sobre os recursos. Dependendo da view somente partes ou relacionamentos internos dos recursos poderão ser mostrados. Como no caso de arquivos do tipo XML.

Um editor trabalha diretamente sobre um recurso(classes Java como exemplo). O Eclipse segue um ciclo de carrega-altera-salva que somente se um editor salvar suas alterações, a plataforma será capaz de notificar as outras aplicações.

Views especiais podem ser conectadas diretamente a um editor, adicionando recursos complementares ao manuseamento dos recursos. Por exemplo a Outline View da perspectiva Java é conectada diretamente ao Editor Java.

O que torna o Eclipse uma IDE especial, é a extrema flexibilidade na qual podem ser combinadas views e editores. Dessa forma o workbench pode ser arrumado de uma forma livre e que melhor adapte o desenvolvedor. As views e editores podem ser adicionados em uma perspectiva aberta (mesmo se eles foram definidos em um plugin totalmente diferente). Portanto é possível ter a total liberdade para criar o ambiente de desenvolvimento que melhor agrade ao desenvolvedor, de uma forma agradável e customizada.

Perspectiva

Para abrir uma nova perspectiva no seu worbench faça:

1. Escolha 'Window -> Open Perspective' no menu principal:

2. Escolha 'Other' para ver todas as perspectivas instaladas:

Plugins

Para instalar novas aplicações, simplesmente copie os plugins para dentro da pasta $ECLIPSE_HOME/plugins como mostrado com o Tomcat plugin. Será preciso reiniciar o Eclipse para tornar a nova aplicação "ativa". Dependendo plugin uma nova perspectiva poderá ser escolhida, sendo encontradas novas opções no menu e toolbar.

Workspace

Como default a pasta root do workspace é $ECLIPSE_HOME/workspace. Caso seja necessário atuar com em vários projetos, ou mesmo compartilhar uma maquina para armazenamento dos projetos, faz mais sentido separar o workspace. Pode ser escolhido um diretório arbitrário para o wokspace, para ter uma pasta especifica como root basta usar a opção -data na inicialização do Eclipse. Por exemplo "eclipse -data c:\MeuWorkspace".

Adicionando views para uma perspectiva

  1. Abra a perspectiva, ex. perspectiva Java.
  2. Escolha 'Show View -> Navigator' no menu:


A navigator view será adicionada na perspectiva Java.

Arrumando o workbench

  1. Clique na barra de titulo da view ou do editor e arraste para outra posição dentro do workbench


  2. A aparencia do workbench será ajustada automaticamente:




  3. Para adicionar uma view ou um editor como uma tab faça:
  4. Clique na barra de titulo da view ou do editor e arraste até o cursor mudar dentro do símbolo da tab.


  5. A aparência do workbench será ajustada automaticamente:


Manipulando recursos com ferramentas externas

Se um recurso existente no workspce for alterado por uma ferramenta externa, a notificação não chegara ao Eclipse automaticamente. Mas se o recurso alterado externamente estiver aberto em um editor no Eclipse, será recebida uma notificação perguntando se é desejado carregar as alterações ocorridas.

Caso sejam criados arquivos ou pastas para o seu projetos externamente, será preciso notificar ao Eclipse:

  1. Selecione a pasta na qual foram criados novos arquivos / pastas na view (ex. Navigator)
  2. Escolha 'File -> Refresh'


Instalação

  • Sistema operacional:
    • Windows
    • Linux
    • Solaris
    • QNX
    • Mac OS/X
  • Recomendável 256 MB RAM.
  • Java 2 runtime environment (JRE) ou Java 2 Software Development Kit (J2SDK).
  • Eclipse necessita da versão 1.3 ou superior.
  • Eclipse 2.0.2-archive ou superior.
    1. Instale o respectivo JRE.
    2. Descompacte o Eclipse-archive para uma pasta arbitrária. No Windows o Eclipse acha a instalação do JRE/SQK automaticamente, através do registry.
    3. Inicialize o Eclipse executando eclipse.exe(Windows) ou eclipse.sh(Linux) localizado no diretório de instalação. Após isso, o workbench aparecerá:


Configuração Básica

Após a inicialização do Eclipse, serão necessárias algumas configurações da ferramenta.

Estrutura das pastas nos projetos Java

Por padrão os arquivos fonte e compilados serão salvos diretamente na pasta do projeto. É melhor separar o código fonte do código compilado (arquivos .class). Com isso devemos ter uma pasta especial (source) que contem somente o código fonte.

Um projeto pode crescer consideravelmente através da adição de novas pastas de código fonte.

  1. Escolha 'Window -> Preferences' no menu.
  2. Expanda o nó 'Java' e escolha 'New Project'.
  3. Escolha o radio-button 'Folders'.


  4. Prescione 'Apply'.
  5. Prescione 'OK'.

Selecionar compilador e editor para o JDK

O compilador Java e editor do Eclipse podem ser configurados para trabalhar com diferentes versões de JDK.

  1. Escolha 'Window -> Preferences' no menu.
  2. Expanda o nó 'Java' e escolha 'Compiler'.
  3. Escolha 'JDK Compliance'.
  4. Escolha '1.4' na lista de seleção 'Compile compliance level'.


  5. Pressione 'Apply'.
  6. Pressione 'OK'.

Use JDK ao invés de JRE (ou instale um novo JRE/JDK)

Para ver o código fonte das classes padrão do Java, precisa ser "avisado" ao Eclipse para usar o JDK correspondente. Por padrão o Eclipse utiliza o JRE, o qual não possui código fonte (o arquivo src.zip).

Ao usar o JDK, ajudas adicionais serão oferecidas:

Code Assist pode mostrar nomes e retornos dos métodos existentes no JavaDoc e comentários através de um hover help.

Pré-requisito: O JDK precisa estar instalado no Sistema Operacional

  1. Escolha 'Window -> Preferences' no menu.
  2. Expanda o nó 'Java' e escolha 'Installed JREs'.
  3. Escolha a primeira linha. (Standard VM).


  4. Pressione o botão 'Edit' (ou 'Add'). O dialogo 'Edit JRE' (ou 'Add JRE') aparecerá:


  5. Pressione o botão 'Browse' na linha 'JRE home directory'.
  6. Escolha a pasta no diretório de instalação no dialogo de seleção. No Windows deve ser C:\j2sdk1.4.1.
  7. Prescione 'OK' para a pasta selecionada.
  8. Prescione 'OK' para o dialogo 'Edit JRE'.
  9. Prescione 'OK' para o dialogo 'Preferences'.

Configurando classpath variables

Classpath variables são definidas a nível do workbench. Pastas e arquivos .jar ou .zip podem receber nomes, fazendo com que seja fácil inclui-los no buildpath.

  1. Escolha 'Window -> Preferences'.
  2. Expanda o nó 'Java' e escolha 'Classpath Variables'. O seguinte dialogo aparecera:


  3. Pressione o botão 'New'. O dialogo 'New Variable Entry' aparecerá:


  4. Especifique o nome da variável no textfield 'Name'.
    • a) Se a variável apontar para um arquivo (.zip ou .jar), pressione o botão 'File'.
    • b) Se a variável apontar para uma pasta, pressione o botão 'Folder'.

      Variáveis apontam para uma pasta que deve complementar o path para dentro do projeto que ira utiliza-la. Isto significa que tanto pastas, .zip ou .jar serão adicionados ao buildpath do projeto.


  5. Pressione 'OK' no dialogo 'New Variable Entry'.
  6. Pressione 'OK' no dialogo 'Preferences' Dialog.

O primeiro projeto Java

Como criar um projeto Java simples, onde o código fonte esta separado na sua pasta de "saída'.

Criação do projeto Java:

Não importa se será criado um novo projeto ou será importado um projeto existente, é necessário criar um projeto Java no Eclipse antes.

No matter if you want to start an all new project or want to import an existing one - you need to create an Eclipse Java project first.

  1. Abrir a perspectiva Java
  2. Abrir o assistente 'New Java Project'.

    Existem várias maneiras de iniciar esse assistente. A mais fácil é pressionando o botão na toolbar.

    Também pode ser escolhido 'File -> New -> Project' para obter um dialogo que deixa escolher 'Java project'.

    O dialogo 'New Java Project':

  3. Escolha um nome para o seu projeto, ex. "MeuProjeto". O padrão para a pasta do projeto é workspace_home/MeuProjeto .
  4. Pressine 'Next'. O dialogo 'New Java Settings' aparecerá:

    Com esse dialogo será editado o arquivo .classpath do projeto.



    A tab 'Source' serve para especificar pastas que contenham recursos Java (arquivos .java).
  5. Selecione o radio button 'Use source folders contained in the project'.
  6. Pressione o botão 'Create New Folder'. O dialogo 'New Source Folder' aparecerá:

  7. Digite "src" no textfield.
  8. Pressine 'OK'. O dialogo 'Source Folder Added' aparecerá:

  9. Pressione 'Yes'. A pasta de saída para as classes compiladas será especificada como workspace_home/MeuProjeto/bin

    O dialogo 'New Java Settings' aparecerá:

  10. Pressione 'Finish'.

A primeira classe Java

Criação da classe Java:

  1. Abra a perspectiva Java
  2. Abra o assistente 'New Java Class'.


  3. Existem varias formas de iniciar o assistente, a mais fácil é pressionando o botão na toolbar.

    Também pode ser escolhido 'File -> New -> Class' e será mostrado o dialogo para escolher 'Java project'.

    O dialogo 'New Java Class' aparecerá:



    O primeiro botão chamado 'Browse' serve para selecionar a pasta para os códigos fontes, no qual as classes serão criadas, nesse caso 'MeuProjeto/src'.
  4. Digite "test" como o nome do package Java. (Package)
  5. Digite "Test" como o nome da classe. (Name)
  6. Marque o checkbox 'public static void main(String[] args)'
  7. Podem ser especificadas superclasses e interfaces para implementação. Para o primeiro teste será criado um simples método main.

    O dialogo será:

  8. Pressione 'Finish'


  9. A nova classe será aberta no editor Java:

  10. Digite 'System.out.println("Hello world!");' no corpo do método main.
  11. Salve as mudanças para a nova classe. (Ctrl+S ou no menu)

    Assim que ocorrer o salvamento, o código fonte será compilado. (Essa ação pode ser alterada em preferences)
  12. Para executar a classe, será necessário configurar o launcher.

Configurando o Launcher - Executando um programa

Para executar o método main, será preciso configurar o launcher:

Como atalho pode ser escolhido 'Run As -> Java Application' e no menu dropdown 'Run'. Isso é totalmente suficiente para executar um programa simples (sem parâmetros etc.)

  1. Pressione o botão 'Run' na toolbar:



    O dialogo 'Launch Configurations' aparecerá:

  2. Selecione 'Java Application' e pressione 'New'. A segunda parte do dialogo 'Launch Configurations' aparecerá:



    Várias configurações podem ser informadas (parâmetros para a VM, classpath, ações do workbench quando inicializado etc.).
  3. Pressione 'Run'. A Console view da perspectiva Java aparecerá contendo a saída padrão:

Pressionando o botão 'Run' a ultima ação será executada novamente, nesse caso a classe 'Test'.

Será necessário criar uma nova configuração:

  1. Escolha 'Run' no menu dropdown:



    O seguinte dialogo 'Launch Configurations' aparecerá para completar a configuração:



    Selecione 'Java Application':



    Pressione 'New'. A nova classe aparecerá no dialogo:



    Pressione 'Run'.

Importando um projeto existente

Para importar um projeto existente, será necessário:

  1. Criar um projeto Java.
  2. Escolha 'File -> Import'. O dialogo 'Import Select' aparecerá.
  3. Selecione 'File System'.

  4. Pressione 'Next'. O dialogo 'Import File System' aparecerá
  5. Especifique o diretório que conterá o projeto importado com o primeiro botão 'Browse'. Esse diretório será o raiz para o seguinte dialogo de seleção.
  6. Selecione as pastas e arquivos que deverão ser importados para dentro do projeto.
  7. Especifique a pasta que na qual serão armazenados os arquivos importados, com o segundo botão 'Browse'.

    Poderão ser escolhidas pastas de projetos existentes e seus subdiretórios. A opção 'Create complete folder structure' também cria pastas hierarquicamente no projeto.

  8. Pressionw 'Finish'. As pastas e arquivos selecionados serão adicionados ao projeto.

Configurando o Java Buildpath

O buildpath avisa ao compilador onde procurar por vários arquivos e recursos para realizar o seu trabalho. Isso significa que devem ser compilados o código fonte e as classes definidas através das implementações. Essas informações são armazenadas no arquivo .classpath do projeto Java. Não é aconselhável editar esse arquivo diretamente, mas sim usar um assistente especial.

  1. Selecione o projeto no Package Explorer ou Navigator view.
  2. Abra o menu para esse projeto (right-click):
  3. Escolha 'Properties' no menu:



    O dialogo 'Properties for ProjektName' aparecerá.
  4. Selecione 'Java Build Path'. O dialogo aparecerá:

  5. Configure o buildpath com a seguinte descrição.

Significado das várias tabs:

Source:



Aqui serão especificadas as pastas nas quais os códigos fonte serão armazenados. Somente nessas pastas novas classes e packages poderão ser criados. Por padrão novas classes serão criadas diretamente nessas pastas dos projetos. Para separar o código fonte dos arquivos compilados, precisa ser especificado aqui.

Projects:



Aqui projetos existentes podem ser adicionados ao buildpath. O compilador procura por classes definidas nos projetos especificados.

Libraries:



Referencias para arquivos .jar e .zip dentro do workspace ou em qualquer lugar do seu HardDisk pode ser especificado aqui.

Detalhes:

  • Add JARs: Arquivos que existem dentro de projetos no workspace serão adicionados aqui.
  • Add External JARs: Arquivos arbitrários no seu HardDisk serão adicionados aqui.
  • Add Variable: Adiciona uma classpath variable.
  • Advanced: O dialogo auxilia a criação de pastas para classes. Essas pastas contem definições de classes descompactadas (arquivos .class, não .jar ou .zip).
  • Edit: Muda entradas existentes.
  • Attach Source: Adiciona o código fonte para uma referência existente. O código fonte será mostrado no editor Java, mas não poderá ser alterado.
  • Remove: Seleciona uma entrada e remove do buildpath.
  • Change the order of the entries. O compilador sempre utiliza a definição de classes que encontrar primeiro.
  • Textfield 'Build output folder': A pasta que recebe as classes compiladas. Essa pasta não deve conter código fonte.

Rodando em modo Debug

O Eclipse permite rodar programas em modo debug, ou seja, habilitar ferramentas como breakpoints e variable tracking.

Debugger

O debugger permite detectar e diagnosticar erros em programas sendo executados localmente ou remotamente. Torna-se fácil controlar a execução dos programas, através da adição de breakpoints, os quais suspendem a inicialização, possibilitando analisar o código por "dentro" e examinar o conteúdo das variáveis.

A utiilzação dessa perspectiva é através de um design cliente/servidor, sendo assim os programas podem rodar remotamente em outros sistemas operacionais na rede, como rodariam localmente na estação de trabalho do desenvolvedor. O servidor para debugger roda na mesmo sistema operacional que o programa a ser analisado, o qual pode estar na maquina do desenvolvedor (local debugging) ou um sistema operacional que esteja acessível através da rede (remote debugging).

BREAKPOINTS

Breakpoints são marcos colocados no programa, que avisam ao debugger onde parar. Quando o workbench esta rodando um programa e encontra um breakpoint, a execução e suspensa. O thread correspondente é suspenso (temporariamente para de rodar) permitindo que seja vista toda a stack para o thread em questão.

A execução é suspensa antes do statement que contém o breakpoint. Os conteúdos das variáveis e a stack podem ser checados nesse momento, além de realizar step over, step into em métodos ou classes, a execução rodará até encontrar o próximos breakpoint ou o fim do programa.

Os brakpoints podem ser desabilitados sem suspender a execução, e habilitados em outro momento.

REMOTE DEBUGGING

Remote debugging permite rodar aplicações em um sistema operacional e realizar o debug em outro sistema operacional. O sistema local roda o debugger, e o sistema remoto roda o debugging engine e o programa.

CONNECTION

O principal requerimento para remote debugging é acessar a maquina remota, na qual os arquivos onde ocorrerá o debug devem residir. Ao realizar o remote debugging em um programa, o debug engine daemon inicia escutando a conexão, após realizada pode ser feito o debug do programa.

Debug View

Esta view permite o gerenciamento para realizar o debugging de um programa no workbench. Ela mostra uma janela com a stack de cada thread suspenso para cada tarefa que esteja realizando o debugging. Cada thread aparece como um nó da arvore.

Comandos da Debug View
Botões da ToolbarComandoDescrição
ResumeEste comando executa o thread suspenso.
SuspendEste comando suspende o thread da tarefa, podendo navegar ou modificar o código, inspecionar os dados, etapas e assim por diante.
TerminateEste comando terminar a tarefa do debug selecionado.
Somente no menuTerminate & RemoveEste comando termina todas as tarefas de debug selecionadas e remove-as da janela.
Somente no menuTerminate AllEste comando termina todas as atividades iniciadas na janela.
DisconnectEste comando fecha todas as conexões das tarefas de debug
selecionadas quando executado remote debugging.
Remove All Terminated LaunchesEste comando limpa da janela todas as tarefas de debug terminadas.
Step IntoEste comando executa um steps into no statement selecionado.
Step OverEste comando executa um step over no statement selecionado. A execução continuará até a próxima linha no caso domesmo método, ou voltará para o método de origem, caso o método corrente tenha sido chamado por outro método.O cursor é posicionado no método e seleciona a linha.
Run to ReturnEste comando sai do método corrente. Esta opção para a execução após sair do método corrente.
Show/Hide Qualified NamesEsta opção pode ser selecionada para mostrar ou ocultar qualified names.
Somente no menuRelaunchEste comando reinicia a tarefa de debug selecionada.
Somente no menu PropertiesEste comando mostra as propriedades do processo selecionado, também permitindo visualizar as linhas de comando do processo selecionado.

Realizando debugging nos programas

  1. Abra alguma classe na perspectiva Java.
  2. Coloque o cursor na barra do lado esquerdo da janela na qual esta aberta a classe e de um duplo clique ao lado do statement desejado, adicionando um breakpoint.



    Adição de um Breakpoint.

    O breakpoint esta em azul porque ainda não foi verificado, significando que a classe que o contém ainda não foi carregada pela Java VM.
  3. Clique no botão Debug na toolbar.
  4. Selecione a classe na caixa de dialogo e pressione Debug.

  5. Tão logo tenha adicionado um breakpoint, a perspectiva Debug abre automaticamente, e a execução é suspensa. Perceba que o processo ainda esta ativo (não foi terminado) na Processes view. Outros threads ainda devem estar rodando.



    O breakpoint agora esta verde, pois foi verificado pela Java VM.
  6. No editor na perspectiva Debug, selecione a linha onde esta o breakpoint e no menu selecione Inspect.



    A Variables view mostra os valores das variaveis no stack frame selecionado.

  7. Pressione Step Over para executar a linha de código selecionada.



    Se o programa não terminou totalmente após o termino do debugging, selecione Terminate no menu para o programa iniciado, na Processes view ou Debug view.

PLUGIN'S

Além dos plug-ins como o JDT para editar, compilar e debugar aplicações, outros plug-ins estão disponíveis para suportar completamente o processo de desenvolvimento através de modelagem, automação de deployment, teste unitário, teste de performance, controlador de versão e gerencia de configuração.

Dica: Adicionando novas aplicações ao Eclipse

Para instalar novas aplicações, simplesmente copie os plugins para dentro da pasta $ECLIPSE_HOME/plugins. Será preciso reiniciar o Eclipse para tornar a nova aplicação "ativa". Dependendo do plugin uma nova perspectiva poderá ser escolhida, sendo encontradas novas opções no menu e toolbar.

Lomboz

Esse plugin auxilia aos programadores Java realizarem build, teste e deploy das aplicações Java nos Servidores de aplicação J2EE.

Ele oferece uma série de funcionalidades, tais como:

  • Editor de JSP com sintaxe highlighting e code assist
  • Verificador de sintaxe JSP
  • Wizards para geração de modulos Web e Ejb
  • Wizards para geração de Ejb test clients
  • Suporte a deployment de WAR e Ejb(Jar)
  • Produtividade usando wizards e geradores de código
  • Desenvolvimento integrado de EJB 1.1 e 2.0 com Xdoclet (Session, Entity and Message Driven Beans)

Instalação

  • Execute o unzip do arquivo lomboz.zip para o diretório <Eclipse_Home>

  • Será criado um novo diretório chamado com.objectlearn.jdt.j2ee no diretório plugin
  • Agora inicialize o Eclipse

Configuração

  • Caixa de dialogo no menu -Preferences e expanda o item Java> New Project.
  • As configurações devem estar igual a figura.

  • A maioria dos Applications Servers utilizam o compilador Java padrão (javac), o mesmo é localizado em tools.jar que vem com a distribuição padrão do Java

    • Enable JSP Syntax checking - Permite a compilação dos JSP's
    • Server restart- Toda vez que for feito um novo deploy de um módulo, o server será reiniciado
    • Update server classpath and deployment parameters - O Lomboz verifica o classpath do projeto e as propriedades de deployment.
    • Use application server classpath - Utiliza o classpath definido na configuração do server para inicia-lo e não o classpath do projeto. Evita problemas de class loaders
  • Definindo o Application Server

    • Classpath variable name - O nome da variável que será usada para referenciar as java libraries
    • Classpath variable - O caminho que será usado para armazenar a variável. As java libraries serão um caminho relativo
    • Server Home Directory - O caminho para o diretório de instalação do Application Server
    • Classpath Page

      • Java libraries que serão utilizadas para iniciar o Application Server
      • Server Classpath é utilizado para iniciar o Application Server
      • Client path utilizado por aplicações cliente (ex.: Ejb Test Clients )

Ativação

Adicionar ações, wizards e views para o Eclipse.

  • Selecione no menu 'Window>Customize Perspective...', expanda 'File>New' e marque todos os itens relacionados ao Lomboz.
  • Selecione no menu Window>Customize Perspective...', expanda 'Other' e marque 'Lomboz Actions'
  • Selecione no menu Window>Customize Perspective...', expanda 'Window>Show View' e marque 'Lomboz J2EE View'
  • Após essas seleções, será adicionado um novo botão a toolbar

  • Novos wizards estarão disponíveis no dialogo New Project e no item de menu New

Easy Struts

Esse plugin auxilia aos programadores Java na utilização do framework Struts e seus componentes.

Ele oferece uma série de funcionalidades, tais como:

  • Provê um editor para o struts-config.xml
  • Gerador de XSLT
  • Suporte completo a módulos Struts 1.1
  • Prove uma view para auxilio a qualquer Java Project com suporte a Easy Struts
  • Suporte a Xdoclet

Instalação

  • Execute o unzip do arquivo org.easystruts.eclipse.zip para o diretório <Eclipse_Home>

  • Será criado um novo diretório chamado com.cross.easystruts.eclipse no diretório plugin
  • Agora inicialize o Eclipse

Configuração

Style

  • Action form class package - Nome do pacote que armazenará os forms do Struts
  • Action form class suffix - Sufixo que será acrescentado antes do nome do form quando este for criado
  • Action class package - Nome do pacote que armazenará as actions do Struts
  • Action class suffix - Sufixo que será acrescentado antes do nome da Action quando esta for criada
  • JSP form location - Todo arquivo JSP que for criado com o auxilio do wizard do Easy Struts sera armazenado nesse local

Struts 1.1

  • Add JARs - Adicionar as java libraries necessárias para o Struts
  • Add TLDs - Adicionar as tld's necessárias para o Struts
  • Base ActionForm class - Todo form que for criado estenderá essa classe
  • Validate method - O nome do método para executar validação no form
  • Base Action class - Toda action que for criada estenderá essa classe
  • Request method - O nome do método a ser acionado pela requisição
  • ActionServlet class - O servlet para gerenciar as chamadas as actions

Validate struts-config.xml content

  • Valida o conteúdo do arquivo de configuração do Struts
  • Write default values in struts-config.xml
  • Caso queira adicionar valores padrão quando esse arquivo for criado.
    • Controller
    • Plugin

XSLT stylesheet

  • Layouts utilizados para geração automática dos arquivos
    • Action - Action class stylesheet
    • ActionForm - ActionForm class stylesheet
    • Exception - Exception class stylesheet
    • Plugin - Plugin class stylesheet
    • JSP
    • JSP file stylesheet
  • O Easy Struts já prove layouts padrão

Alterando o layout para geração de arquivos JSP

  • Arquivo JspForm.xsl (fazendo um exemplo)

Ativação

Adicionar wizards para o Eclipse.

  • Selecione no menu 'Window>Customize Perspective...', expanda 'File>New' e marque todos os itens relacionados ao Easy Struts
  • Novos wizards estarão disponíveis no item de menu New

XML Buddy

Ele oferece uma série de funcionalidades, tais como:

  • Editor de XML
  • Validador para XML
  • Gerador de DTD
  • Code assist
  • Keyboard shortcuts
  • Auxiliador para formatação

Instalação

  • Execute o unzip do arquivo para o diretório <Eclipse_Home>

  • Será criado um novo diretório chamado com.objfac.xmleditor no diretório plugin
  • Agora inicialize o Eclipse
  • Definição de cores dos elementos
  • As outras opções podem ser mantidas

Ativação

  • Selecione no menu 'Window>Customize Perspective...', expanda 'File>New' e marque os itens DTD e XML Document
  • Novos wizards estarão disponíveis no item de menu New

DBEdit

Ele oferece uma série de funcionalidades, tais como:

  • Visualizador
  • Tabelas
  • Log
  • Facilidade para manipulação de dados
  • Editor SQL
  • Editor de Tabelas
  • Importação/Exportação de dados
  • Wizards para auxiliar na criação de tabelas, colunas, data types, chaves e constraints

Instalação

  • Execute o unzip do arquivo para o diretório <Eclipse_Home>
  • Será criado um novo diretório chamado dbedit.ui no diretório plugin

  • Agora inicialize o Eclipse

Configuração

  • Manter as configurações default



  • Drivers JDBC para conexão

  • Para realizar conexões, são necessários Drivers JDBC que possibilitem o plugin a interagir com os Databases.
  • Obtenha o Driver JDBC específico para o seu Database
    • Podem ser adicionados quantos Drivers forem necessários
  • Selecione o SQL Driver Path através dos botões Add Jar ou Add Folder.
    • No caso do MySql selecione o arquivo mysql-connector-java-3.0.6-stable-bin.jar, o qual deve ser obtido no site http://www.mysql.com

Ativação

  • Selecione no menu Window>Customize Perspective...', expanda 'Window>Open Perspective e marque DbEdit
  • Após essa seleção, essa perspectiva estará disponível na opção open Perspective

CONTROLE DE VERSÃO

O CVS é um sistema que permite que grupos de pessoas trabalhem simultaneamente em grupos de arquivos como, por exemplo, manuais, apostilas, códigos de programas ou dados dos pacotes RPM. É utilizado um repositório central com as versões mais recentes dos arquivos. Sendo possível, a qualquer momento, criar uma cópia pessoal desses arquivos e, caso no futuro esses arquivos sejam atualizados, o CVS se encarregará de atualizar a sua cópia quando você desejar fazê-lo. Você pode alterar os seus arquivos a vontade. Se novas versões destes arquivos forem colocadas no CVS nesse período de modificação, a atualização tentará o máximo possível combinar as alterações do repositório com as feitas localmente por você.

Caso haja coincidência nas alterações e algum conflito seja criado pelas suas mudanças e as já em efeito no repositório, o CVS lhe avisará e você deverá resolver este problema na sua cópia. Após resolvido o problema você poderá, então, enviar os arquivos para o repositório. Quando você tentar enviar um arquivo para o repositório, o CVS verificará se a versão que você possui é a mais recente. Caso não seja, você receberá uma notificação do CVS, deverá atualizar a sua cópia, resolver quaisquer conflitos que venham a surgir e, só então, enviar os arquivos para o repositório.

Com o CVS cada desenvolvedor trabalha em seu próprio diretório, com suas próprias versões dos arquivos e o sistema se encarrega de juntar as versões espalhadas numa só, contemplando todas as mudanças feitas pelos diversos desenvolvedores.

Alguns conceitos

  • Um repositório é um diretório com todos os arquivos e subdiretórios do projeto. Adicionalmente, contém arquivos criados pelo programa CVS para o gerenciamento das versões. Existe também o conceito de versão, tag e release, onde todo arquivo tem uma versão que é automaticamente definida pelo CVS, a partir do qual pode-se recuperar o histórico de mudanças. Um tag é um nome simbólico dado a uma determinada versão do projeto, pode ser usado para delimitar etapas do desenvolvimento de um projeto. Um release é uma versão definitiva de todos os arquivos do projeto.
  • Um branch (ramo) é usado para dividir um projeto. Normalmente existe o ramo mestre e os ramos secundários. O ideal é que seja criado uma ramificação (branch) a cada mudança significativa ou alteração que vá ser impactante no processo de desenvolvimento (e.g. migração de código procedural para código orientado a objetos). Outro bom motivo para a criação de uma ramificação é a manutenção de código antigo, ou seja, se o programa está na versão 5.0 e existe usuários com problemas na versão 4.2, será preciso dar manutenção naquele código antigo e mantê-lo sob o controle de versões.

Eclipse e CVS - Alguns passos a serem seguidos

O Eclipse vem com um plug-in padrão para trabalhar com o CVS, o open source Concurrent Versions System para controle de fonte. O plug-in Team se conecta ao CVS server, permitindo que os membros da equipe de desenvolvimento trabalhem com um conjunto de arquivos fontes sem passar por cima de alterações efetuadas por outros da equipe. A capacidade de dar suporte ao desenvolvimento em equipe, não somente para um desenvolvedor sozinho, é uma ferramenta importantíssima do Eclipse, principalmente quando se trata de integração.

Com esse cliente gráfico para o CVS, o que torna fácil o gerenciamento de projetos no repositório de versões.

Criando um novo repositório

  • Abra a perspectiva 'CVS Repository Exploring'
  • Escolha 'New -> Repository Location...' na view 'CVS Repositories'. O dialogo 'Add CVS Repository' aparecerá.
  • Digite as informações para a conexão nos campos relacionados.
  • Host: O host que roda o servidor.
  • Repository Path: O repositório que será utilizado no servidor.
  • Authentication: O servidor pode ser configurado para utilizar autenticação dos usuários.
  • Connection: Protocolo e porta que devem ser utilizados para conectar com o servidor.
  • Selecione o checkbox 'Validate Connection on Finish'.
  • Pressione Finish. Se todas as informações foram digitadas corretamente, aparecerá o repositório.


Compartilhando um projeto

  • Abra a perspectiva que tem a visão geral do projeto (ex.: perspectiva Java).
  • Selecione o projeto a ser compartilhado e escolha 'Team -> Share Project...' no menu. O dialogo 'Share Project' aparecerá.
  • Selecione o repositório que o projeto será inserido




  • Pressione 'Next' .
  • Mantenha selecionado o radiobutton 'Use project name as module name'.
  • Pressione 'Next' .
  • Pressione 'Finish'. O projeto é mostrado na view 'Synchronize'




  • Escolha 'Add to Version Control' no menu sobre o projeto.
  • Escolha 'Commit' no menu sobre o projeto. O dialogo para digitar um comentário aparecerá.
  • Digite um comentário.
  • Pressione 'OK'. O projeto esta agora no repositório escolhido.
  • Abra a perspectiva 'CVS Repository Exploring'.
  • Escolha 'Refresh View' no menu na view 'CVS Repositories'.
  • O projeto aparecerá nessa view agora.

Criando uma versão

  • Altere algo em um arquivo '.java', ex.: adicione um comentário .
  • Salve o arquivo (Ctrl + S).
  • Na view 'Package Explorer' escolha 'Team -> Synchronize with Repository' no menu sobre o projeto.
  • A view 'Synchronize' aparecerá.
  • Escolha 'Commit' no menu sobre o arquivo '.java'.
  • Adicione um comentário.
  • Pressione 'OK'.
  • Foi apenas criada uma outra versão do arquivo .java'.

Gerenciando as versões de um recurso

  • Escolha 'Team -> Show in Resource History' no menu sobre o recurso, nesse caso o arquivo '.java'.
  • A view 'CVS Resource History', aparecerá. A lista das versões do recurso escolhido.
  • As versões correntes são marcadas com '*'.

Substituindo a versão corrente por outra

  • Escolha 'Get Sticky Revision' no menu sobre a versão que deve substituir a versão corrente.
  • Leia o aviso.
  • Pressione 'OK'.
  • A versão corrente foi alterada.

Versionando um projeto

  • Escolha o projeto a ser versionado na view 'CVS Repositories' view. (perspectiva CVS).
  • Projetos também podem ser versionados a partir do workspace.
  • Escolha 'Tag as Version' no menu sobre o projeto.
  • Digite a informação sobre a versão ex. 'Alpha'.

  • Pressione 'OK'.
  • A nova versão pode ser vista em 'Versions' no repositório.
  • Não esqueça de atualizar!

Adicionando a versão ao workspace

  • Selecione a versão a ser "carregada" na view 'CVS Repositories'. (perspectiva CVS).
  • Escolha
  • 'Check Out As Project'
    • Para projetos que já foram criados no Eclipse.
  • 'Check Out As'
    • Para projetos que não foram criados nos Eclipse. É necessário criar um novo projeto.
  • 'Check Out Into'

Utilizar uma cópia de um projeto já existente no Workbench.

Eclipse e CVS

Uso básico do CVS com Eclipse.

O Eclipse contém um cliente gráfico para o CVS, o que torna fácil o gerenciamento de projetos no repositório de versões.

Pré-requisitos: Um servidor CVS instalado e configurado.

Criando um novo repositório

  1. Abra a perspectiva 'CVS Repository Exploring'.

  2. Escolha 'New -> Repository Location...' na view 'CVS Repositories'.



    O dialogo 'Add CVS Repository' aparecerá.
  3. Digite as informações para a conexão nos campos relacionados.

    The concrete data is dependent on the CVS server ('Server') being used.

    Host: O host que roda o servidor.

    Repository Path: O repositório que será utilizado no servidor.

    Authentication: O servidor pode ser configurado para utilizar autenticação dos usuários.

    Connection: Protocolo e porta que devem ser utilizados para conectar com o servidor.

  4. Selecione o checkbox 'Validate Connection on Finish' :

  5. Pressione Finish. Se todas as informações foram digitadas corretamente, aparecerá o repositório:

Compartilhando um projeto

  1. Abra a perspectiva que tem a visão geral do projeto (ex.: perspectiva Java).
  2. Selecione o projeto a ser compartilhado e escolha 'Team -> Share Project...' no menu:



    O dialogo 'Share Project' aparecerá.
  3. Selecione o repositório que o projeto será inserido:

    Um novo repositório pode ser criado aqui 'on the fly'.

  4. Pressione 'Next'.
  5. Mantenha selecionado o radiobutton 'Use project name as module name':

  6. Pressione 'Next'.

  7. Pressione 'Finish'.

    O projeto é mostrado na view 'Synchronize':

  8. Escolha 'Add to Version Control' no menu sobre o projeto:

  9. Escolha 'Commit' no menu sobre o projeto:



    O dialogo para digitar um comentário aparecerá.
  10. Digite um comentário:

  11. Pressione 'OK'.

    O projeto esta agora no repositório escolhido.
  12. Abra a perspectiva 'CVS Repository Exploring'.
  13. Escolha 'Refresh View' no menu na view 'CVS Repositories':



    O projeto aparecerá nessa view agora:

Versões CVS

CRIANDO UMA VERSÃO:

  1. Altere algo no arquivo 'Test.java', ex.: adicione um comentário.
  2. Salve o arquivo (Ctrl + S).

  3. Na view 'Package Explorer' escolha 'Team -> Synchronize with Repository' no menu sobre o projeto:



    A view 'Synchronize' aparecerá.
  4. Escolha 'Commit' no menu sobre o arquivo 'Test.java':

  5. Adicione um comentário:

  6. Pressione 'OK'.

    Foi apenas criada uma outra revision do arquivo 'Test.java'.

GERENCIANDO AS VERSÕES DE UM RECURSO:

  1. Escolha 'Team -> Show in Resource History' no menu sobre o recurso, nesse caso o arquivo 'Test.java':



    A view 'CVS Resource History', aparecerá. A lista das versões do recurso escolhido:



    As versões correntes são marcadas com '*'.

Substituindo a versão corrente por outra:

  1. Escolha 'Get Sticky Revision' no menu sobre a versão que deve substituir a versão corrente:



    Leia o aviso:

  2. Pressione 'OK'.

    A versão corrente foi alterada:

VERSIONANDO UM PROJETO

  1. Escolha o projeto a ser versionado na view 'CVS Repositories' view. (perspectiva CVS)

    Projetos também podem ser versionados a partir do workspace.
  2. Escolha 'Tag as Version' no menu sobre o projeto.

  3. Digite a informação sobre a versão ex. 'Alpha':

  4. Pressione 'OK'.
  5. A nova versão pode ser vista em 'Versions' no repositório:

    Não esqueça de atualizar!

ADICIONANDO A VERSÃO AO WORKSPACE:

  1. Selecione a versão a ser "carregada" na view 'CVS Repositories'. (perspectiva CVS).
  2. Escolha 'Check Out As Project' no menu sobre o projeto:

Caso já exista esse projeto no workspace, será perguntado se deseja sobrescrever os arquivos existentes.

Eclipse e Junit

Através do uso do Eclipse com o Junit, torna-se fácil desenvolver códigos de boa qualidade.

  1. Download JUnit em www.junit.org. Descompacte src.jar a partir do arquivo .zip.
  2. Crie um novo projeto Java Junit.
  3. Escolha 'File->Import-> Zip file-> Browse-> src.jar .

  4. Selecione a pasta src (Pressione o botão 'Browse'):

  5. Pressione Finish.
  6. Suporte opcional ao JavaDoc: Selecione o caminho para o JavaDoc Path em 'Preferences':



    e selecione a documentação em junit3.8.1.zip :



    O local no qual o arquivo .zip foi extraído.

Configurando o projeto

  1. Adicione o projeto Junit ao 'Java build path' na 'Properties' do projeto:



O primeiro teste

O primeiro teste é para uma instancia da classe AmpelModell que deve estar no estado vermelho. O estado dessa instancia é acessado por três métodos getters, getRed(), getYellow() e getGreen() cada um retornando valores do tipo boolean.

  1. Criar uma nova classe AmpelModellTest:



  2. Selecione junit.framework.TestCase as superclass ('Browse'):

  3. Pressione Finish.

    Eclipse cria uma nova classe:

Métodos que contenham os testes serão adicionados. JUnit procura automaticamente por métodos que iniciam com 'test':

public class AmpelModellTest extends TestCase {
 public void testNewAmpel() {
  AmpelModell a = new AmpelModell();
  assertTrue(a.getRed());
  assertFalse(a.getYellow());
  assertFalse(a.getGreen());
 }
}

public class AmpelModell {
 public boolean getRed() {
  return false;
 }
 public boolean getYellow() {
  return false;
 }
 public boolean getGreen() {
  return false;
 }
}

Executando o primeiro teste:

  1. Escolha 'Run As->Unit Test' no menu:

  2. A view Junit aparecerá. A barra vermelha indica que algo deu errado:



    É mostrado o total dos testes executados, as exceções lançadas e o testes que falharam. Tão logo algum teste falhe, a barra de status aparecerá vermelha. A área do meio da view Junit tem duas abas.
    • 'Failures'
      • Lista os testes que falharam.
    • 'Hierarchy'
      • Mostra a visão geral de todos os testes que foram executados e é extremamente usual quando executando um conjunto de testes(TestSuite).

A view abaixo mostra o 'Failure Trace'. Pode ser visto a call stack da falha do teste. Um clique duplo localiza o código fonte onde foi ocorrido a falha.

Feedback

Por favor, dê a sua opinião a respeito do conteúdo apresentado. Correções, sugestões ou qualquer outra informação relevante é de suma importância para nós e será muito bem vinda.

Contato: owner@hotwork.dev.java.net