---
title: Plugins
---
# Plugins do VRaptor
Plugins são complementos ao VRaptor. Eles são úteis para situações como acessar um banco de dados usando JPA ou Hibernate, enviar emails, segurança etc.
##VRaptor JPA
O plugin VRaptor JPA cuida da criação e injeção de depedência da `EntityManager` e `EntityManagerFactory`. Além disso, o plugin aplica o padrão
Open EntityManager In View, isto é, ele abre uma transação com o banco de dados no ínicio da requisição e executa o commit da transação no fim da requisição.
Para usá-lo basta você copiar o jar para a sua aplicação, ou declarar o plugin como dependência do Maven conforme o trecho abaixo.
~~~
#!xml
br.com.caelum.vraptor
vraptor-jpa
<%= Maven.plugin_version('vraptor-jpa') %>
~~~
É importante que a `persistence unit` chame-se `default`, e que o `persistence.xml` esteja no diretório `src/main/resources/META-INF/`.
O plugin não possui nenhum provider. Com isso é necessário que você declare algum provider, como por exemplo, o Hibernate.
~~~
#!xml
org.hibernate
hibernate-entitymanager
4.3.0.Final
~~~
Ou se você prefere usar o Eclipselink:
~~~
#!xml
org.eclipse.persistence
org.eclipse.persistence.jpa
2.5.1
~~~
[Plugin no Github](https://github.com/caelum/vraptor-jpa).
##VRaptor Hibernate
Se você usa o Hibernate 4, você pode usar o plugin vraptor-hibernate. Semelhante ao plugin VRaptor JPA, este plugin cuida da
criação e injetação de dependência da `Session` e `SessionFactory` do Hibernate. Além de aplicar o padrão Open Session In View.
Você pode adicioná-lo em seu projeto Maven conforme o trecho abaixo, ou copiar manualmente o jar para seu projeto.
~~~
#!xml
br.com.caelum.vraptor
vraptor-hibernate
<%= Maven.plugin_version('vraptor-hibernate') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-hibernate).
##VRaptor Java 8
Plugin de suporte para Java 8. Oferece converters para as classes do Java Time (JSR-310), reflection para o nome dos parâmetros e mais.
~~~
#!xml
br.com.caelum.vraptor
vraptor-java8
<%= Maven.plugin_version('vraptor-java8') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-java8).
##Simple mail
Permite envio de e-mails.
~~~
#!xml
br.com.caelum.vraptor
vraptor-simplemail
<%= Maven.plugin_version('vraptor-simplemail') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-simplemail).
## Joda-time
Joda-time é uma API para facilitar o trabalho de dados temporais em Java. Para usar o joda-time basta acionar o plugin `vraptor-jodatime`. Adicionando o plugin, os converters são registrados automaticamente.
~~~
#!xml
br.com.caelum.vraptor
vraptor-jodatime
<%= Maven.plugin_version('vraptor-jodatime') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-time-converters).
##VRaptor Error-Control
Controle dos erros de sua aplicação em tempo real com o envio de e-mail.
~~~
#!xml
br.com.caelum.vraptor
vraptor-error-control
<%= Maven.plugin_version('vraptor-error-control') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-error-control).
##VRaptor Brutauth
Forma fácil de verificar as permissões de acesso das ações de seu controller.
~~~
#!xml
br.com.caelum.vraptor
vraptor-brutauth
<%= Maven.plugin_version('vraptor-brutauth') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-brutauth).
##VRaptor QuartzJob
Agendamento de tarefas com Quartz.
~~~
#!xml
br.com.caelum.vraptor
vraptor-quartzjob
<%= Maven.plugin_version('vraptor-quartzjob') %>
~~~
[Plugin no Github](http://github.com/caelum/vraptor-quartzjob).
##VRaptor Freemarker
Renderiza templates do Freemarker.
~~~
#!xml
br.com.caelum.vraptor
vraptor-freemarker
<%= Maven.plugin_version('vraptor-freemarker') %>
~~~
[Plugin no Github](http://github.com/caelum/vraptor-freemarker).
##VRaptor Dash
Dashboard com varias ferramentas para seus projetos VRaptor.
~~~
#!xml
br.com.caelum.vraptor
vraptor-dash
<%= Maven.plugin_version('vraptor-dash') %>
~~~
[Plugin no Github](http://github.com/caelum/vraptor-dash).
##VRaptor Authz
Alternativa para controle de acesso (autorização) de seus métodos do controller.
~~~
#!xml
br.com.caelum.vraptor
vraptor-authz
<%= Maven.plugin_version('vraptor-authz') %>
~~~
[Plugin no Github](https://github.com/Turini/vraptor-authz).
##VRaptor I18n
Soluções de i18n na view
~~~
#!xml
br.com.caelum.vraptor
vraptor-i18n
<%= Maven.plugin_version('vraptor-i18n') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-i18n).
##VRaptor Test
Facilmente possibilita a criação de testes de integração ou sistema.
~~~
#!xml
br.com.caelum.vraptor
vraptor-test
<%= Maven.plugin_version('vraptor-test') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-test).
##VRaptor Paginator
Paginação eficiente de seus dados do JPA/Hibernate.
~~~
#!xml
br.com.caelum.vraptor
vraptor-paginator
<%= Maven.plugin_version('vraptor-paginator') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-paginator).
##VRaptor Panettone
Um template engine typesafe escrito em Java.
~~~
#!xml
br.com.caelum.vraptor
vraptor-panettone
<%= Maven.plugin_version('vraptor-panettone') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-panettone).
##VRaptor Biscotti
I18n typesafe. Sem mais chaves esquecidas e exceptions pra você e seu cliente.
~~~
#!xml
br.com.caelum.vraptor
vraptor-biscotti
<%= Maven.plugin_version('vraptor-biscotti') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-biscotti).
##VRaptor Routes
Extraia e defina rotas customizadas em um arquivo de `properties`.
~~~
#!xml
br.com.caelum.vraptor
vraptor-routes
<%= Maven.plugin_version('vraptor-routes') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-routes).
##VRaptor Simple Validator
Uma forma simples e efetiva de fazer validações programáticas.
~~~
#!xml
br.com.caelum.vraptor
vraptor-simple-validator
<%= Maven.plugin_version('vraptor-simple-validator') %>
~~~
[Plugin no Github](https://github.com/caelum/vraptor-simple-validator).
##VRaptor contrib
Você pode encontrar alguns plugins feitos por usuários do VRaptor no [vraptor-contrib](https://github.com/caelum/vraptor-contrib).