[RESOLVIDO] Jasper iReport - problema com AWT na WEB?!?

6 respostas
C

Dae galera!

Seguinte, estou tendo o seguinte stacktrace.

[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/aplicacao].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source) at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:58) at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:361) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:59) at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:582) at

Conseguem ver o que tem de estranho aqui? Um problema AWT numa aplicação que teoricamente não usa AWT O_O

Estou usando JSF1.2 no JBoss 4.2.3 e o método exportar onde o erro “inicia” gera um relatório com Jasper iReports.

Não faço idéia do que seja isso, as pesquisas no google não foram muito exclarecedoras.

Alguem ja viu isso?

Abraço!

6 Respostas

M

desculpem reviver o tópico antes de tudo mas… conseguiu resolver esse problema?

estou tendo essa mesma exceção, o problema é que tem máquina que da o problema e tem máquina que não…

L

Tu tá usando o JasperViewer, cara?

EDIT: http://rafaeltuelho.wordpress.com/2010/04/15/erro-java-lang-noclassdeffounderror-sun-awt-x11graphicsenvironment/

Tá aqui a encrenca, já tinha até nos favoritos.

Abraço!

C

Esse erro só aconteceu no Linux, e em algumas máquinas específicas (não sei pq).

Pra resolver, nós setamos um parâmetro na inicialização do jboss.

-Djava.awt.headless=true

Se você não puder mudar o parâmetro do servidor, vc pode setar o parametro direto no código java.

System.setProperty(“java.awt.headless”, “true”);

No nosso caso, as classes dos Charts herdavam de org.jfree.ui.ApplicationFrame, oque causou vários problemas. Excluindo as chamadas de super(), pack() e outros métodos da classe ApplicationFrame resolveu.

Se isso te ajudar, só avisa o que vc teve que fazer a mais e a gente põe o tópico como Resolvido, blz?

PS: Dica do Thiago Ghisi.

M

então… não estou usando o ireport, essa aplicação até usa mas não estava dando erro clicando em qualquer lugar, mesmo onde não usava o jasper reports…

agradeço ao cassionandi e ao leoramos por terem respondido.

para ficar registrado caso alguém tenha o mesmo problema, foi resolvido tirando uma propriedade do richfaces do web.xml:

<context-param>
<param-name>org.richfaces.LoadStyleStrategy</param-name>
<param-value>ALL</param-value>
</context-param>

o stack trace que estava ocorrendo:

16:09:06-erro: Filter execution threw an exception

javax.servlet.ServletException: Filter execution threw an exception

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:268)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at br.com.triad.util.filter.HibernateFilter.doFilter(HibernateFilter.java:38)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:636)

Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:186)

at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)

at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1152)

at org.ajax4jsf.resource.Java2Dresource.getImage(Java2Dresource.java:115)

at org.ajax4jsf.resource.Java2Dresource.send(Java2Dresource.java:89)

at org.ajax4jsf.resource.ResourceLifecycle.sendResource(ResourceLifecycle.java:221)

at org.ajax4jsf.resource.ResourceLifecycle.send(ResourceLifecycle.java:160)

at org.ajax4jsf.resource.InternetResourceService.load(InternetResourceService.java:335)

at org.ajax4jsf.cache.LRUMapCache.load(LRUMapCache.java:116)

at org.ajax4jsf.cache.LRUMapCache.get(LRUMapCache.java:87)

at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:195)

at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:508)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

 18 more
M

corrigindo… está dando o erro de novo… não faço ideia do motivo disso estar acontecendo…

aceito sugestões ainda…hehe, obrigado a quem ajudar…

M

se alguém precisar… isso aparentemente é um erro que ocorre “somente no linux”, por isso que aqui na minha estação com windows não estava ocorrendo, e desconfio que seja relacionada a alguns componentes visuais do rich faces (no meu caso acho que o panelMenu, menuItem,etc).

para solucionar devemos adicionar esse conteudo a variavel CATALINA_OPTS: -Djava.awt.headless=true

no meu caso, o servidor não tinha essa variável então eu deixei o export dela no começo do startup.sh:

$Id: startup.sh [telefone removido]-06-20 09:26:36Z rjung $

-----------------------------------------------------------------------------

Better OS/400 detection: see Bugzilla 31132

export CATALINA_OPTS=-Djava.awt.headless=true

os400=false
case “uname” in
OS400*) os400=true;;
esac

Criado 2 de setembro de 2009
Ultima resposta 11 de nov. de 2011
Respostas 6
Participantes 3