000033818 - RSA Identity Governance and Lifecycle 6.9.1 and earlier reports preview or generation fail with error: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

Document created by RSA Customer Support Employee on Aug 20, 2016Last modified by RSA Customer Support Employee on May 9, 2017
Version 4Show Document
  • View in full screen mode

Article Content

Article Number000033818
Applies ToRSA Product Set:  RSA Identity Governance and Lifecycle
RSA Version/Condition: 6.9.1 and earlier
IssueReports fail to preview or generate with one of the following errors in the UI:

Could not initialize class sun.awt.X11GraphicsEnvironment
Caught Exception in Report.fill(): java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

The aveskaServer.log shows:  
Exception in thread >
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment>
    at java.lang.Class.forName0(Native Method)>
    at java.lang.Class.forName(Class.java:171)>
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)>
    at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:89)>
    at java.lang.Class.forName0(Native Method)>
    at java.lang.Class.forName(Class.java:171)>
    at java.awt.Toolkit$2.run(Toolkit.java:834)>
    at java.security.AccessController.doPrivileged(Native Method)>
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)>
    at sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(SwingUtilities2.java:122)>
    at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:1554)>
    at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:130)>
    at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1589)>
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:514)>
    at javax.swing.UIManager.setLookAndFeel(UIManager.java:554)>
    at com.workpoint.gui.common.WorkPointLAF.A(Unknown Source)>
    at com.workpoint.gui.common.WorkPointLAF.A(Unknown Source)>
    at com.workpoint.gui.common.WorkPointLAF.setUIDefaults(Unknown Source)>
    at com.workpoint.gui.external.WpImageUtils.<clinit>(Unknown Source)>
    at com.aveksa.server.workflow.WorkflowServiceProvider.refreshProcessImage(WorkflowServiceProvider.java:1732)>
    at com.aveksa.server.workflow.WorkflowServiceProvider.getProcessImageFromNative(WorkflowServiceProvider.java:1656)>
    at com.aveksa.server.workflow.WorkflowEventListener$ProcessRefreshThread.run(WorkflowEventListener.java:268)>

      or
[com.aveksa.server.report.Report] Error in fillReport
com.aveksa.server.runtime.ServerException: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
at com.aveksa.server.report.Report.fillReport(Report.java:2029)
at com.aveksa.server.report.Report.fillReport(Report.java:1678)
at com.aveksa.server.report.Report.fillReport(Report.java:1667)
at com.aveksa.gui.objects.report.GuiReport.fill(GuiReport.java:695)
....
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:124)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:89)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:104)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:62)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984)
at com.aveksa.server.report.Report.fillReport(Report.java:2022)
CauseThese errors are caused by the underlying reporting framework attempting to leverage local X11 classes that would typically be used to render locally. Since the report is displayed in a browser and not in an X11 environment, this call is not needed. The error is typically thrown when a JDK is used that does not have the full set of classes that are available in the Sun/Oracle JDK.  For this particular instance the error is benign because the report does not need to be rendered in X11.

 
Resolution
  
Workaround
Add the Djava.awt.headless java setting option to the JVM configuration.  This tells the server that the Linux server that is hosting the application will not be rendering X11 consoles.
Follow the steps below:

  1. Backup run.conf which is located in /home/oracle/jboss/bin.
  2. Open run.conf in a text editor.
  3. Add the following line at the end of the file:
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

  1. Save the file.
  2. Restart the WildFly server to make this setting active.
$ acm restart

Attachments

    Outcomes