PCGen / pcgen

Main code and data development for pcgen program release
http://pcgen.org
GNU Lesser General Public License v2.1
431 stars 341 forks source link

PCGen 6.06.01: java.awd.HeadlessException error on CentOS 7 #3543

Closed yesrod closed 6 years ago

yesrod commented 6 years ago

Getting the following error when attempting to run PCGen on CentOS 7:

$ java -jar pcgen.jar 
16:13:10.542 INFO main Main:145 Starting PCGen v6.06.01
16:13:10.561 INFO main LanguageBundle:131 Initialising language bundle with locale en_US.
16:13:10.615 SEVERE main Main:614 Uncaught error - ignoring
java.awt.HeadlessException
    at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:284)
    at pcgen.gui2.plaf.LookAndFeelManager.initLookAndFeel(LookAndFeelManager.java:194)
    at pcgen.system.Main.configureUI(Main.java:410)
    at pcgen.system.Main.startupWithGUI(Main.java:367)
    at pcgen.system.Main.main(Main.java:159)

$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

No idea what's going on, I'm running via an X terminal, so there's definitely an X session for PCGen and/or Java to use.

yesrod commented 6 years ago

This may be OpenJDK 1.8 related, as installing OpenJDK 1.7 and using it lets PCGen launch correctly:

$ /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.161-2.6.12.0.el7_4.x86_64/jre/bin/java -jar ./pcgen.jar
16:20:41.653 INFO main Main:145 Starting PCGen v6.06.01
16:20:41.690 INFO main LanguageBundle:131 Initialising language bundle with locale en_US.
# PCGen starts as expected
yesrod commented 6 years ago

I am an idiot; I only had the headless version of the JRE installed on my server. Installing the full java-1.8.0-openjdk.x86_64 package fixed the issue.