Environment
Retain 3.4 and later
Reporting and Monitoring Server
Situation
When trying to generate a report in Reporting and Monitoring Server a JRStyledTextParser error appears. The full text of the error reads:
Can't connect to X11 window server using '127.0.0.1:1.0' as the value of the DISPLAY variable.
sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
java.security.AccessController.doPrivileged(Native Method)
sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:90)
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:114)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435)
com.gwava.stats.reports.generation.GenericReportGenerator.generateJasperPrint(GenericReportGenerator.java:145)
com.gwava.stats.reports.generation.GenericReportGenerator.generateReport(GenericReportGenerator.java:127)
com.gwava.stats.reports.generation.GenericReportGenerator.processReport(GenericReportGenerator.java:76)
com.gwava.stats.reports.generation.ArchiveSummaryTotalsReportGenerator.processReport(ArchiveSummaryTotalsReportGenerator.java:21)
com.gwava.stats.reports.ReportGenerator.processReport(ReportGenerator.java:107)
com.gwava.stats.webBeans.ReportHandler.runBrowserReport(ReportHandler.java:195)
com.gwava.stats.webBeans.ReportHandler.runReport(ReportHandler.java:405)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
Resolution
This can be resolved by making a change in the j2ee file that Tomcat uses.
1. Stop Tomcat.
2. Edit the j2ee file, found in /etc/opt/beginfinite/retain/tomcat7:
3. Find the line: JAVA_OPTS="-Djava.library.path=/opt/beginfinite/retain/RetainServer/WEB-INF/bin"
4. Change it to read: JAVA_OPTS="-Djava.library.path=/opt/beginfinite/retain/RetainServer/WEB-INF/bin-Djava.awt.headless=true"
5. If applicable, remove precomplied jsp files.
6. Start Tomcat.
Additional Information
This article was originally published in the GWAVA knowledgebase as article ID 2414.