<commit_before>---
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 comita a 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-jpa<artifactId>
    <version>1.0.0</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

É 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
<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-entitymanager</artifactId>
 <version>4.3.0.Final</version> <!-- Ou outra versão compatível com JPA 2.1 -->
</dependency>
~~~

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-hibernate</artifactId>
    <version>4.0.0</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/caelum/vraptor-hibernate

##Simple mail

Permite envio de e-mails.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-simplemail</artifactId>
    <version>1.0.0</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/caelum/vraptor-simplemail

##VRaptor Shiro

O VRaptor Apache Shiro Plugin provê suporte a autenticação, autorização, criptografia e gerenciamento de sessão, via Apache Shiro, que é um framework leve, porém, poderoso, sendo ideal tanto para pequenos projetos como para projetos corporativos.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-shiro</artifactId>
    <version>4.0.0-beta-1</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/dipold/vraptor-shiro

## 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`. 

~~~
#!xml
<dependency>
   <groupId>br.com.caelum.vraptor</groupId>
   <artifactId>vraptor-jodatime</artifactId>
   <version>4.0.0</version> <!-- ou a última versão disponível -->
</dependency>
~~~

Plugin no Gihub: https://github.com/caelum/vraptor-time-converters

## Nova API de datas do Java

Se você utiliza Java 8, você pode tirar proveito da nova API de datas do pacote `java.time`. Basta incluir o plugin `vraptor-javatime`.

~~~
#!xml
<dependency>
   <groupId>br.com.caelum.vraptor</groupId>
   <artifactId>vraptor-javatime</artifactId>
   <version>4.0.0</version> <!-- ou a última versão disponível -->
</dependency>
~~~

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-error-control</artifactId>
    <version>1.0.0</version>
</dependency>
~~~ 

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-brutauth</artifactId>
    <version>1.0.0</version>
</dependency>
~~~ 

Plugin no Gihub: https://github.com/leonardowolter/vraptor-brutauth

##VRaptor QuartzJob

Agendamento de tarefas com Quartz.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-quartzjob</artifactId>
    <version>1.0.0</version>
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-quartzjob

##VRaptor Freemarker

Renderizar templates freemarker.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-freemarker</artifactId>
    <version>1.0.0</version>
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-freemarker

##VRaptor Dash

Dashboard com varias ferramentas para seus projetos VRaptor.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-dash</artifactId>
    <version>1.0.0</version>
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-dash


##VRaptor contrib

https://github.com/caelum/vraptor-contrib

Aqui você pode encontrar alguns plugins feitos por usuários do vraptor.<commit_msg>updating plugin versions<commit_after>---
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 comita a 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-jpa<artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

É 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
<dependency>
 <groupId>org.hibernate</groupId>
 <artifactId>hibernate-entitymanager</artifactId>
 <version>4.3.0.Final</version> <!-- Ou outra versão compatível com JPA 2.1 -->
</dependency>
~~~

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-hibernate</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/caelum/vraptor-hibernate

##Simple mail

Permite envio de e-mails.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-simplemail</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/caelum/vraptor-simplemail

##VRaptor Shiro

O VRaptor Apache Shiro Plugin provê suporte a autenticação, autorização, criptografia e gerenciamento de sessão, via Apache Shiro, que é um framework leve, porém, poderoso, sendo ideal tanto para pequenos projetos como para projetos corporativos.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-shiro</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/dipold/vraptor-shiro

## 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`. 

~~~
#!xml
<dependency>
   <groupId>br.com.caelum.vraptor</groupId>
   <artifactId>vraptor-jodatime</artifactId>
   <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~

Plugin no Gihub: https://github.com/caelum/vraptor-time-converters

## Nova API de datas do Java

Se você utiliza Java 8, você pode tirar proveito da nova API de datas do pacote `java.time`. Basta incluir o plugin `vraptor-javatime`.

~~~
#!xml
<dependency>
   <groupId>br.com.caelum.vraptor</groupId>
   <artifactId>vraptor-javatime</artifactId>
   <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-error-control</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: 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
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-brutauth</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: https://github.com/leonardowolter/vraptor-brutauth

##VRaptor QuartzJob

Agendamento de tarefas com Quartz.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-quartzjob</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-quartzjob

##VRaptor Freemarker

Renderizar templates freemarker.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-freemarker</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-freemarker

##VRaptor Dash

Dashboard com varias ferramentas para seus projetos VRaptor.

~~~ 
#!xml
<dependency>
    <groupId>br.com.caelum.vraptor</groupId>
    <artifactId>vraptor-dash</artifactId>
    <version>4.0.0-RC2</version> <!-- ou a última versão disponível -->
</dependency>
~~~ 

Plugin no Gihub: http://github.com/caelum/vraptor-dash


##VRaptor contrib

https://github.com/caelum/vraptor-contrib

Aqui você pode encontrar alguns plugins feitos por usuários do VRaptor.
{'fraction_non_alphanumeric': 0.12661896567339914, 'fraction_numerical': 0.008332578570781632, 'mean_word_length': 4.167056621431914, 'pattern_counts': {'":': 0, '<': 214, '<?xml version=': 0, '>': 214, 'https://': 18, 'lorem ipsum': 0, 'www.': 0, 'xml': 26}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4927358', 'n_tokens_mistral': 4304, 'n_tokens_neox': 4030, 'n_words': 1058}