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!
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…
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.
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
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…
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 1137558 2011-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
…