All my java applications now throw a java.awt.headlessexception
So a couple days ago I had several working Java applications using the Swing library, JFrame in particular. They all worked perfectly fine and now they all throw this exception:
java.awt.headlessexception
I don't know what changed maybe my Java version got updated by accident.
Thanks for any help you can offer.
EDIT:
Here's a small piece of code that gives me the exception.
import javax.swing.JFrame;
public class test {
public static JFrame frame;
public static void main(String[] args) {
frame = new JFrame("test");
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
Solution 1:
HeadlessException
Thrown when code that is dependent on a keyboard, display, or mouse is called in an environment that does not support a keyboard, display, or mouse.
To set up headless mode use
java -Djava.awt.headless=true
Using Headless Mode in the Java SE Platform
Solution 2:
Multiple Linux distros have separate packages for the base of the JRE vs the JRE GUI.
On RHEL7/CentOS 7 for example, if you only have this package installed:
- java-1.8.0-openjdk-headless
You also need to install this package:
- java-1.8.0-openjdk