terça-feira, janeiro 04, 2005

Gráficos JAVA no Linux sem X11

Uma coisa que nos colocam em problemas é a portabilidade...
Como diz um amigo "A Interoperabilidade".

Com uma aplicação pronta no ambiente windows, precisava ser apenas colocado em um sistema unix (Solaris)
Algumas coisas que sempre esquecemos é a bendita barra "\"... É importante utilizar a barra "/" sempre que se referenciar a estrutura de diretórios...

Mas este é apenas um detalhe...
A utilização de gráficos no Linux envolve a utilização do servidor X11 rodando.
Então se você for criar relatórios no Jasper, utilizar o JFreeChart ou gerar uma imagem... é preciso o X11 inicializado.

Mas muitas vezes o sistema operacional no servidor é instalado e dificilmente é inicializado o X11, pois seu acesso é feito por terminais...

Como o JAVA utiliza o pacote AWT e este que utiliza recursos do sistema para montar os gráficos, fica complicado sua aplicação ser independente do X11.

Mas a SUN pensou neste problema e para isto colocou um parametro de inicialização nas suas aplicações. o parametro é:

-Djava.awt.headless=true

Assim você pode colocar este parametro na inicilização de suas aplicações para rodar sem a necessidade do X11
java -Djava.awt.headless=true MyJavaApplication

Como o meu caso é uma aplicação web rodando no Tomcat, foi necessário colocar a linha abaixo no começo do arquivo catalina.sh e executar o startup.sh
CATALINA_OPTS="-Djava.awt.headless=true"

Estas coisas sempre nos segura até mais tarde na empresa... Imagine que isto me segurou até os 46 do segundo tempo antes do ano novo.

Nenhum comentário: