45Graus
Lucas Aquiles
sopa de bits
04-11-2010 13:50:00

Falha na conversação: Error starting Suns native2ascii

Bom, bati cabeça por um tempo com este erro, depois de algumas pesquisas descobri o motivo.

O erro ocorre porque  o grails ao “startar” nossa aplicação tenta utilizar alguns recursos de conversação i18n, mas não consegue achar as classes que fazem isso, então ele lança uma exceção do tipo ClassNotFoundException.

Para corrigir basta editar o arquivo Conf.groovy e mudar o parâmetro

// o arquivo orignial encontra-se assim
grails.enable.native2ascii = true
// basta  "setar" para false
grails.enable.native2ascii = false

 

04-11-2010 12:46:00

Instalação do Groovy e configuração do Grails no Ubuntu

Bom, como já havia prometido, vou dar inicio a série de posts sobre desenvolvimento com Groovy e Grails, então pra dar início vou demonstrar como configurar nosso ambiente para começar a desenvolver com Groovy no ubuntu.

O primeiro requisito é ter a JVM e configurar o JAVA_HOME no seu sistema. Já que o groovy trabalha diretamente com a plataforma Java.

Então abra o terminal e digite o trecho abaixo:

 
 
sudo apt-get install sun-java6-jdk

ou

 
 
sudo apt-get install sun-java5-jdk

e em seguida configure o ubuntu prara usalo

 
 
sudo update-alternatives –config javac

você pode instalar também por algum gerenciador de pacotes como Synaptic ou baixando os arquivos no site.

Depois disso no console digite java -version

a saída deve ser essa

 
 
java version "1.6.0_18"
 
OpenJDK Runtime Environment (IcedTea6 1.8.1) (6b18-1.8.1-0ubuntu1)
 
OpenJDK Server VM (build 16.0-b13, mixed mode)

se a versão que aparecer for algo do tipo java version “1.5”, java version “1.4.2” ou “command not foundI”, nos precisaremos definir a versão correta no $PATH do sistema.

agora precisando definir e configurar o JAVA_HOME,

o JAVA_HOME é uma variável de ambiente definida para facilitar a localização exata do java instalado por alguns programas, e pro nosso post o groovy precisará saber onde está instalado o java para ser instalado corretamente.

antes precisamos ver se esta variável já está definida, no console digite:

 
 
echo $JAVA_HOME

se aparecer o caminho correto de onde está instalado o java, então está tudo ok, caso contrário digite o seguinte comando no console

 
 
sudo cp/etc/bash.bashrc /etc/bash.bashrc_backup
 
sudo gedit /etc/bash.bashrc

no final do arquivo digite

 
 
JAVA_HOME=local_onde_está_instalado_o_java
 
export JAVA_HOME

salve, feche o arquivo e digite novamente echo $JAVA_HOME

pronto, passo 1 completo, java instalado e configurado. Se teve algum problema com as definições acima você pode ver mais detalhes sobre a instalação do java no ubunto na wiki do ubuntu.

O passo 2 será configurar o Grooy e definir o $GRAILS_HOME

então vamos baixar a ultima versão instável do groovy, aqui vou utilizar versão 1.7.5

para instalar descompacte o arquivo e execute o arquivo

 
 
unzipe groovy-binary-1.7.5.zip
 
sudo ./groovy_1.7.5_all.bin

pronto, groovy instalado, para ver se está tudo ok digite no console: groovy -v

para mostrar a versão atual do groovy instalada na maquina.

Próximo passo agora é instalar o grails, então baixe o arquivo e descompacte em algum local,

depois edite novamente o arquivo bash.bashrc que está dentro de /etc/

e adicione no final do arquivo

 
 
GRAILS_HOME=/local_onde_está_descompactado_o_grails
 
export GRAILS_HOME

salve, feche o arquivo e pronto, para testar vamos crir um projeto grails.

No console digite

 
 
grails create-app demo_grails
 
cd demo_grails
 
grails run-app

no browser digite http://localhost:8080/demo_grails/

e baaannn, está tudo pronto pra começar a desenvolver com Groovy e Grails.

04-11-2010 11:42:00

Phase Listener JSF2

 em determinadas situações, dependendo da necessidade da nossa aplicação, precisamos capturar alguns eventos que são disparados durante o início e termino do ciclo de vida do JSF.

Antes a melhor forma para se fazer isso era utilizando Filters, mas no JSF podemos fazer isso implementando a interface PhaseListener, que ficará “ouvindo” as fases da nossa aplicação e capturá-las e executa alguma ação, antes ou depois de cada fase,  de acordo com a requisição.

implementação:


import javax.faces.event.*;

public class AuthListener implements PhaseListener{

    public void afterFase(PhaseEvent event){
       String viewId = event.getFacesContext().getViewRoot().getViewId();
       // do thing
    }
    public void beforeFase(PhaseEvent event){
       // do thing
    }
    public PhaseId phaseId(){
       return PhaseId.RESTORE_VIEW;
   }
}

 

+ mais noticias