Você está na página 1de 7

Um projeto do zero com Vraptor 4

Maven 2, Eclipse Kepler e Wildfly 8


Primeiro passo: Download dos aplicativos
Vamosfazerdownloaddosaplicativosemsualtimaversodisponvel,conformeoslinks
abaixo:
JDK7u51
http://www.oracle.com/technetwork/java/javase/downloads/
EclipseKepler(JavaEEIDEforWebDevelopers)
http://www.eclipse.org/downloads/
Wildfly8
http://wildfly.org/downloads/

Segundo passo: Descompactar os aplicativos e iniciar a


configurao
Apsrealizarodownload,descompacteosarquivosemumlocaldesuapreferncia.
AgoravamosconfiguraroJDK7u51eoservidordeaplicaoWildflynoEclipse,paraistoinicie
oEclipse.

Ao ser questionado sobre o


local onde definir o workspace do Eclipse,
informe um diretrio de sua preferncia. Neste diretrio iremos criar um
projeto inicial
para trabalhar como Vraptor4.

Configurando JDK-7u51
CliqueemWindow>PreferenceseentoselecioneJava>InstalledJREs.Najaneladireita,
cliquenobotoAdd.
Naprximajanela,selecioneaopoStandardVMecliquenobotoNext.
NacaixadetextoJREhomecliquenobotoaoladoDirectoryenavegueatapastaonde
vocdesompactouojdk1.7.0_51efinalmentecliqueemOK.
CliqueagoranobotoFinisheretornarparaajaneladepreferncias.

Assegure de deixar marcado a opo de JRE que acabamos de adicionar, a


saber, jdk1.7.0_51.
Porfim,quenobotoOK.

Configurando o servidor de aplicao Wildfly


AbraajaneladeprefernciasdoEclipse,clicandoemWindow>Preferences.Selecioneas
opesServer>RuntimeEnvironments.CliquenobotoAdd.
Porserumainstalaoapartirdozero,sernecessrioinstalarumadaptadordeservidor
adicional,asaber,JBoosASTools,paracompatibilidadecomoWildfly.
Paraisto,cliquesobreolinkDownloadadditionalserveradapters,eapsalgunssegundos,ao
aparecerJBoosASTools,cliquesobreeleecliqueemNext.
Marqueaopoparaaceitaraslicenas(leia)ecliqueemFinish.
AguardeainstalaodoJBoosASTools,sernecessrioreiniciaroEclipse.
ApsreiniciaroEclipse,abranovamenteaconfiguraodeRuntimeEnvironmentsde
servidores.
CliquenobotoAddeselecioneaopoWildfly8.0emJBoosCommunity.Cliquenoboto
Next.
Naprximatela,nacaixadetextoHomeDirectory,quenobotoBrowserenavegueata
pastaondedescompactouoWildfly8ecliqueOK.
NaopoJRE,selecioneaJREqueconfiguramos,asaberjdk1.7.0_51.Ecliquenoboto
FinishedepoisemOKnateladepreferncias.

Testando o servidor
Paraassegurarqueoservidorfoiconfiguradocomsucesso,nasabasinferioresdoIDE
selecioneaabaServers.

Se a tela Welcome do Eclipse estiver aberta, pode fecha-la.


CliquenolinkNoserversareavailable.Clickthislinktocreateanewserver.
Najanelaapresentada,selecioneoservidorWildfly8.0ecliqueFinish.
NoitemquesercriadonaabaServers,chamadoWildfly8.0RuntimeServer,cliquecomo
botodireitoeselecioneStart.
NaabaConsoleserpossvelacompanharainicializaodoservidor,conclundocomuma
mensagemcomo:
...
23:29:25,161INFO[org.jboss.as](ControllerBootThread)JBAS015874:WildFly
8.0.0.Final"WildFly"startedin4224msStarted183of232services(80servicesare
lazy,passiveorondemand)
...

Istosignificaqueoservidorconcluiuainicializao,ejpossvelacessaroendereo
http://localhost:8080parachecaramensagemdeboasvindasdoWildfly.
Oservidorpodeserdesligado.EmServers,selecioneoservidorcomobotodireitoeclique
emStop.

Terceiro passo: Criando um novo projeto


SelecioneFile>New>Other.SelecioneentoMaven>MavenProjectecliqueNext.
MarqueaopoCreateasimpleproject(poisowebappdoarchetypeestmuitoobsoleto),
cliqueemNext.
Preencha:
GroupId:seu.pacote.principal
ArtifactId:NomeDoSeuProjeto
Packaging:war<!Muitoimportanteselecionarwar>
CliqueemFinish.
Oprojetosercriadocomumaconfiguraobsicaparadeployweb.Tudooquetemosque
fazerapartirdeagoraajustarasconfiguraesdopom.xmlparaasdependnciasMaven,
incluiroarquivobeans.xmlparaavarreduradeclassesparainjeodedependncias,ecriaro
webdescriptorweb.xml.

Configurando Maven pom.xml


Abraoarquivopom.xmlqueestnaraizdoprojeto.Vparaaabapom.xmlparaadicionaro
cdigoXMLdiretamentenoarquivo.Seupom.xmlinicialsersemelhanteaeste:
<projectxmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>co.h2a.web</groupId>
<artifactId>vraptor4dz</artifactId>
<version>0.0.1SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>br.com.caelum</groupId>
<artifactId>vraptor</artifactId>
<version>4.0.0RC1</version><!orthelatestversion>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

SalveoarquivoeoMavendarincioaodownloaddasdependncias.Aoconcluir,chequeas
bibliotecasemJavaResources>Libraries>MavenDependecies.Nestelocalestaroas
bibliotecasqueadicionouaopom.xmletodassuasdependncias.

Configurando o Web Descriptor web.xml


ComonofoiutilizadoumarchetypedoMavenparacriaroprojeto,sernecessriocriar
manualmenteoarquivoweb.xmlnapastaWEBINF.
Cliquecomobotodireitonawebappqueestemsrc>maineselecioneNew>Folder.
NacaixadetextodigiteWEBINFecliqueFinish.
Agoracrieoarquivoweb.xmlclicandocomobotodireitosobreapastaWEBINFeselecione
New>File.Digiteweb.xmlnacaixadetextoecliqueFinish.

Oarquivoweb.xmlserabertonoIDE,selecioneaabaSourceedigiteoXMLaseguir:

<?xmlversion="1.0"encoding="UTF8"?>
<webappxmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xmlns:web="http://java.sun.com/xml/ns/javaee"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/webapp_3_0.xsd"version="3.0">
<!Estedeveseronomedoseuprojeto>
<displayname>vraptor4dz</displayname>
</webapp>

Configurando o beans.xml
Temosquecriaroarquivobeans.xmlnapastaWEBINF.

Ao contrrio do que aprendemos nos tutoriais do VRaptor4, o arquivo


beans.xml ser criado em WEB-INF, e no META-INF, simplesmente por se
tratar de um projeto web.
Cliquecomobotodireitonapastasrc>main>webapp>WEBINFeselecioneNew>
File.Nacaixadetextodigitebeans.xmlecliqueFinish.
Adicioneoseguintecontedoaoarquivobeans.xml:
<?xmlversion="1.0"encoding="UTF8"?>
<beans
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1"beandiscoverymode="all">
</beans>

Testando o projeto
Apartirdestepontooprojetoestprontoeconfigurado.Vocjpodedarincioaoseuprojeto
criandosuasclassescontroladoras,jspviews,conexesaobancodedados,etc.

Vamosadicionaroprojetoaodeploydoservidoreexcutaloparachecarsenohnenhumerro
nolog.
NaabaServers,cliquecomobotodireitonoservidorWildfly8eselecioneAddand
Remove....
SeuprojetoestarnacolunaAvailable,cliqueduasvezessobreeleeentopassarpara
Configured.CliqueFinish.
Inicieoservidor.
Observenologquehaveralgosemelhante:
...
00:09:15,770INFO[org.wildfly.extension.undertow](MSCservicethread18)JBAS017534:
Registeredwebcontext:/vraptor4dz
...

Nestecaso/vraptor4dzoprojetocriado,epoderseracessadoatravsdaURL:
http://localhost:8080/vraptor4dz.Troqueparaonomedoseuprojetoevejasevoctemacesso
pginaErrocomocorpoNotFound.
Significaquetudofuncionou.ONotFoundporqueaindanofoicriadonenhumapginapara
seuprojeto.
Boasorte!

Passo Bnus: Criando um Al mundo do VRaptor4!


VamoscriarumateladesaudaoaoacessaraURLprincipaldoprojeto,exibindoa
mensagemAlmundodoVRaptor4!.

Criando o controlador
EmJavaResources>src/main/javacliquecomobotodireitoeselecioneNew>Class.
AltereacaixadetextoPackageconforme:seu.pacote.principal.controller,enacaixadetexto
NamedigiteIndexController.CliqueFinish.
AnoteaclasseIndexControllercomaanotao@Controllerdopacotebr.com.caelum.vraptor.
Crieummtodopblicosemretornochamadoindex,aanoteocom@Path(/).

Aquiestocdigoquedeverseguir:

packageseu.pacote.principal.controller
importbr.com.caelum.vraptor.Controller
importbr.com.caelum.vraptor.Path
@Controller
publicclassIndexController{
@Path("/")
publicvoidindex(){
}
}

Agoracriamosapginajspqueserexecutadaporestecotrolador.
CliquecomobotodireitoemWEBINFqueestemsrc>main>webappeselecioneNew
>Folder.DigitejspparaonomedapastaecliqueFinish.
CliquesobreapastajspcriadaeselecioneNew>Folder.Digiteindexparaonomedesta
pastaecliqueFinish.
CliquesobreapastaindexrecmcriadaeselecioneNew>File.Digiteindex.jspparao
nomedoarquivoecliqueFinish.
Noarquivoindex.jspdigiteocdigoHTMLabaixo:
<html>
<body>
<h1>OlmundodoVRaptor4!</h1>
</body>
</html>

Salveoprojetoereinicieoservidor.
AgoraacesseaURLdoseuprojetoqueretornavaNotFound(comoem
http://localhost:8080/vraptor4dz)erecebaumamensagemdeboasvindas!