When Jenkins tries to generate the Performance Trends graphs there launches several exceptions always with root cause: "java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
"
This is what I did:
Then I created a project which successfully creates a JMeter report file from my Java webapp using the plugin jmeter-maven-plugin v1.9.0, but there doesn't appear the Performance Trend graphs on the project's page. Jenkins really gathers the results because it shows me the response times, but can't show me the graphs. There launches several Exceptions always with root cause: "java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart
" . Here you will find a complete StackTrace: http://pastebin.com/uhiNR7XD
Jenkins already has jcommon-1.0.12.jar and jfreechart-1.0.9.jar at it's /WEB-INF/lib/
. This other post doesn't apply.
Can you help me, please?
Thanks in advance!
/ Angel
Angels Answer is correct, you have to add -Djava.awt.headless=true
.
However, in my case it wasn't enough: I was running Jenkins on openjdk-8-jre-headless
(Debian), which doesn't contain some libraries that JFreeChart requires.
Solution: use openjdk-jre-8
instead of openjdk-jre-8-headless
.
Just an additional note to the people arriving from search engines.
Solved! Somebody helped me to solve it here : https://groups.google.com/forum/#!topic/jenkinsci-users/o_Dr7Tn0i3U
It's not a bug in Jenkins but a miss-configuration. The solution is just adding
-Djava.awt.headless=true
to Jenkin's runtime.
I'm running Jenkins as a webapp on my Tomcat, then I just added this line to my /opt/tomcat/bin/catalina.sh :
CATALINA_OPTS=-Djava.awt.headless=true
I wanted you to share this solution. Cheers from Barcelona.
/ Angel
On a Debian 9 installation I was able to fix this problem by installing the libjfreechart-java
package:
sudo apt-get install libjfreechart-java
I found this solution in the relevant Jenkins bug report: JENKINS-39636
On Debian 10.3 with openjdk-8-jre-headless
the fix is to comment the assistive_technologies
line in /etc/java-8-openjdk/accessibility.properties
, as pointed out by @tianon and the first commenter in the Jenkins issue, linked to from the first answer (JENKINS-39636).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With