error al generar factura

Buenas, dejo el problema y la solución que tuvimos por si alguna universidad se encuentra con el mismo error.

Al generar el pdf de una factura en pantalla aparece el siguiente error:

Error al llenar el pdf. Trace: java.lang.Exception: Invoke failed: [[c:JasperFillManager]]->fillReport((o:String)[o:String], (i:Map)[o:HashMap]). Cause: java.lang.ClassNotFoundException: Unresolved external reference: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment. -- Unable to call the method, see the README section "Java platform issues" for details and DO NOT REPORT THIS PROBLEM TO THE PHP/Java Bridge MAILING LIST! VM: 1.8.0_191@http://java.oracle.com/ at php.java.bridge.JavaBridge.getUnresolvedExternalReferenceException(JavaBridge.java:431) at php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1066) at php.java.bridge.Request.handleRequest(Request.java:415) at php.java.bridge.Request.handleRequests(Request.java:491) at php.java.bridge.http.ContextRunner.run(ContextRunner.java:146) at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) Caused by: java.lang.ClassNotFoundException: Unresolved external reference: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment. -- Unable to call the method, see the README section "Java platform issues" for details and DO NOT REPORT THIS PROBLEM TO THE PHP/Java Bridge MAILING LIST! ... 6 more 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:264) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82) at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:90) at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:124) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:89) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:104) at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:62) at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:148) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:311) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:772) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at php.java.bridge.JavaBridge.Invoke(JavaBridge.java:1054) ... 4 more

Para solucionar esto al iniciar el jasper hay que hacerlo de la siguiente manera:

java -Djava.awt.headless=true -jar ./vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081

Es decir con el agregado de -Djava.awt.headless=true

Saludos!

Leandro,

Muchas gracias por publicarlo!

Saludos