Problema com encoding no Maven

01jun11

Problema de encoding com Maven?

Recentemente passei por problemas com encoding no Maven, mais especificamente para geração de sites utilizando o doxia-maven-plugin. Protelei por muito tempo até buscar uma solução definitiva. Encontrei e decidi compartilhar com vocês. Lê aí!

Quem usa Linux não sofre desse mal. Passei pelo problema no Mac, mas usários Windows também devem passar. Se todos da sua equipe utilizam o mesmo sistema operacional, provavelmente você não tem problemas com encoding. Mas se sua equipe é heterogênea, você já passou por maus bocados.

Olha o problema aí:

Site gerado com problema

Minha primeira tentativa foi definir a propriedade project.build.sourceEncoding no pom.xml. Esta propriedade é utilizada pela maioria dos plug-ins para promover a indepedência de plataforma, afinal este é um dos motivos para usar Maven. Porém, na prática, alguns fornecedores esquecem disto.

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
</properties>

Infelizmente para o doxia-maven-plugin esta configuração não é suficiente. Apelei para a documentação oficial do Maven. Como estou usando o Eclipse incluí a configuração no eclipse.ini. No Mac OS X este arquivo fica um pouco escondido. Abri o terminal, acessei a pasta e fiz o seguinte:

cd Eclipse.app/Contents/MacOS
cp eclipse.ini eclipse.ini.backup
edit eclipse.ini

Incluí no final do arquivo o parâmetro -Dfile.encoding=UTF-8. Meu eclipse.ini ficou assim:

-startup
../../../plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.2.R36x_v20101019_1345
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-vmargs
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Dfile.encoding=UTF-8

Problema resolvido para o Eclipse, mas quando parti para o maven pelo Terminal o problema persistiu. Abri o Terminal do Mac OS X e fiz o seguinte:

cd ~
edit .bash_profile

Incluí a seguinte linha no início do arquivo:

export MAVEN_OPTS="-Dfile.encoding=UTF-8"

Fechei o terminal e abri novamente. Tudo funcionou perfeitamente! Olha só como ficou agora:

Problema de encoding resolvido!

Você já passou por isso? Resolveu como? Esta solução resolveu seu problema? Compartilhe sua opinião ou experiência com outras pessoas aí nos comentários.

Anúncios


One Response to “Problema com encoding no Maven”

  1. 1 Thomas Araujo

    Valeu Cleverson! Ótimo post! Estava com o mesmo problema.


E aí, o que você achou? Comenta aí...

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s