Agora você tem duas maneiras rapidas de inciar um novo projeto com GraniteDS: Um asistente para o Eclipse e os quatro Archetypes Maven. As duas formas permitem criar projetos totalmente funcionas com apenas alguns cliques ou com poucas linhas de comando, resultando em um projeto pré-configurado, pronto para implamtar. Das duas formas você terá o “esqueleto” de uma aplicação com os principais recursos, que você utilizaria em uma aplicação real.
Se você for um usuário Maven, pode começar com os archetypes que trabalham com servidores incorporados (Jetty, GlassFish) veja este paragrafo abaixo. Usando o assistente pode ser útil na configurações de outros servidores, tais como Tomcat e JBoss.
Primeiro você precisa adicionar o plugin Assistente do GraniteDS ao Eclipse. Para fazer isso, voccê pode procurar por GraniteDS no Eclipse Marketplace ou Adicionar o endereço http://www.graniteds.org/public/update-site/ a sua lista de sites disponíveis.
Você precisa instalar os dois plugins GraniteDS Gas 3 Builder e GraniteDS New Project Wizard, ele vai registrar nos wizards do eclipse em GraniteDS/GraniteDS Project três templates padrão.
Os três modelos para criar projetos Flex/Java são facilmente convertidos para um projeto Eclipse WTP, e fazer deploy local ou remoto em um servidor de aplicações. Se você usar Flash Builder os arquivos de configuração necessárias podem ser gerados opcionalmente, e finalmente um arquivo ant é gerado para que você possa criar o build de forma manual, se necessário.
Selecion o menu File/New/Project, procure por GraniteDS e selecione GraniteDS Project
Selecione um modelo e clique em Next.
Escolha um nome para o Projeto, escolha suas tecnologias preferidas, por exemplo: Spring 3, Tomcat 7 e Hiberante. Preencher as outras informações, em particular o Flex SDK deve ser seu diretório home(de preferência deve ser a versão 4.5), e a pasta de deploy do servidor de aplicações (por exemplo: /home/dev/apache-tomcat-7.0.22/webapps para Tomcat 7). Mantenha as outras opções, verifique se “Configure Flash Builder” e “Create Ant+Ivy build file” estão selecionados, clique em Finish.
A criação do novo projeto pode levar alguns minutos, porque o assistente vai buscar todas as bibliotecas necessárias nos repositórios do Maven. Se você estiver usando Flash Builder 4.5, você pode receber o seguinte aviso, isso porque os arquivos de configuração gerados são direcionados para o Flash Builder 4, então basta selecionar Flex SDK 4.5 +
Com o Flash Builder, você sempre terá um erro sobre os arquivos “HTML wrapper” depois que o projeto é criado. Basta clicar sobre a mensagem de erro, conforme sugerido e selecione “Recriar templates HTML” .
Se você não usar o Flash Builder, você pode simplesmente usar o Ant com o arquivo build.xml que foi gerado, que irá executar a compilação da aplicação Flex.
Neste ponto, você já tem um projeto totalmente configurado para as tecnologias e servidor que você escolheu na página do assistente. Você tem agora duas opções para implantá-lo em seu servidor: Fazer o deploy do war gerado pela compilação feita pelo Ant ou usar o Eclipse WTP.
Para usar WTP, você primeiro tem que converter o projeto. Com o botão direito sobre o projeto e selecionando o menu Configure/Convert to Form Faceted ...
Na próxima tela, selecione Dynamic Web Project (3.0 para Tomcat 7 ou JBoss 6/7, 2.5 para Tomcat 6 ou JBoss 4/5) e selecione o servidor correspondente.
Finalmente, clique sobre o projeto e selecione Debug As/Debug on server.
Na última tela, basta verificar que o servidor correto está selecionado, clique em Finish .
Eclipse irá iniciar o servidor de aplicação e abrir um browser na página de aplicação.Você deve obter algo como isto:
Você pode logar com admin:admin ou usuário:usuário, e adicionar alguns nomes. Se você abrir um segundo navegador (e não apenas aba ou outra janela do mesmo navegador! ) e apontá-lo para a mesma página ( http://localhost:8080/springgds ), você deve ver as suas modificações refletidas em tempo real, em ambos os navegadores.
Se você configurar a publicação automática no Eclipse WTP (que deve ser o caso por padrão), qualquer mudança que você fizer na aplicação Flex será automaticamente implantada no servidor. Você pode simplesmente atualizar a página para verificar as suas alterações, uma vez compilado, não há necessidade de reimplantar nada para desenvolver a sua UI!
Se você é um usuário Maven, é provável que você prefira iniciar com um archetype. Há quatro archetypes diferentes para o GraniteDS, eles estão disponíveis no repositório central do Maven:
archetypeGroupId: org.graniteds.archetypes archetypeVersion: 1.1.0.GA archetypeArtifactId:
Os archetypes com Tide são equivalentes a criar um projeto Spring/EJB/Seam/CDI template com o assistente do Eclipse. As principais diferenças são que você não precisa ter um SDK do flex instalado, que será baixado dos repositórios do maven. E você tem três projetos distintos, um projeto Java, um projeto Flex e um projeto WebApp.
Vamos reproduzir o que fizemos com o Assistente de Eclipse, primeiro com uma linha de comando (Maven 3.x obrigatório):
mvn archetype:generate -DarchetypeGroupId=org.graniteds.archetypes -DarchetypeArtifactId=graniteds-tide-spring-jpa-hibernate -DarchetypeVersion=1.1.0.GA -DgroupId=org.example -DartifactId=springgds -Dversion=1.0-SNAPSHOT
Com o archetype criado você pode compilar o projeto com
cd springgds mvn clean package
E finalmente executar o servidor jetty embutido
mvn jetty:run-war
Agora você pode navegar http://localhost:8080/springgds e verificar se o aplicativo funciona.
Com a integração do Maven com Eclipse (plugin M2E), você pode simplesmente escolher um dos archetypes ao fazer New Project Maven.
Para implantar o aplicativo em um servidor de produção, você pode usar o seguinte comando deo maven para criar um arquivo war:
mvn war:war
No entanto que ao fazer isso, você pode ter que mudar a configuração do aplicativo. Em geral, você tem que mudar o nome do servlet do Gravity no web.xml e muito provavelmente atualizar suas configurações de JPA.
Isto agora leva literalmente 5 minutos (e menos de 1 minuto após a primeira execução) para iniciar um projeto Flex/Java com o novo GraniteDS. Você já não tem desculpas para não experimentar!