web-dev-qa-db-fra.com

Impossible d'initialiser la classe Sun.awt.X11GraphicsEnvironment sur Solaris

Je rencontre cette erreur lors de l'exécution de mon programme d'installation sur une machine Solaris:

Installing...
-------------

 [==================|==================|==================|==================]
 [---Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)

Stack Trace:
Java.lang.NoClassDefFoundError: Could not initialize class Sun.awt.X11GraphicsEnvironment
        at Java.lang.Class.forName0(Native Method)
        at Java.lang.Class.forName(Class.Java:186)
        at Java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.Java:102)
        at Java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.Java:81)
        at Sun.awt.X11FontManager.isHeadless(X11FontManager.Java:487)
        at Sun.awt.X11FontManager.getFontPath(X11FontManager.Java:767)
        at Sun.font.SunFontManager.getPlatformFontPath(SunFontManager.Java:3288)
        at Sun.font.SunFontManager$11.run(SunFontManager.Java:3314)
        at Java.security.AccessController.doPrivileged(Native Method)
        at Sun.font.SunFontManager.loadFonts(SunFontManager.Java:3310)
        at Sun.awt.X11FontManager.loadFonts(X11FontManager.Java:439)
        at Sun.font.SunFontManager.findFont2D(SunFontManager.Java:2347)
        at Sun.font.SunFontManager.findFont2D(SunFontManager.Java:2285)
        at Java.awt.Font.getFont2D(Font.Java:498)
        at Java.awt.Font.getFamily(Font.Java:1187)
        at Java.awt.Font.getFamily_NoClientCode(Font.Java:1161)
        at Java.awt.Font.getFamily(Font.Java:1153)
        at ZeroGrs.a(DashoA10*..)
        at ZeroGrs.a(DashoA10*..)
        at ZeroGrs.a(DashoA10*..)
        at ZeroGrs.a(DashoA10*..)
        at ZeroGrs.a(DashoA10*..)
        at ZeroGrs.a(DashoA10*..)
        at com.zerog.ia.installer.actions.InstallUninstaller.a(DashoA10*..)
        at com.zerog.ia.installer.actions.InstallUninstaller.d(DashoA10*..)
        at com.zerog.ia.installer.actions.InstallUninstaller.installSelf(DashoA10*..)
        at com.zerog.ia.installer.InstallablePiece.install(DashoA10*..)
        at com.zerog.ia.installer.actions.InstallDirectory.install(DashoA10*..)
        at com.zerog.ia.installer.actions.InstallDirectory.install(DashoA10*..)
        at com.zerog.ia.installer.InstallablePiece.install(DashoA10*..)
        at com.zerog.ia.installer.GhostDirectory.install(DashoA10*..)
        at com.zerog.ia.installer.InstallablePiece.install(DashoA10*..)
        at com.zerog.ia.installer.Installer.install(DashoA10*..)
        at com.zerog.ia.installer.LifeCycleManager.b(DashoA10*..)
        at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
        at com.zerog.ia.installer.Main.main(DashoA10*..)
        at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
        at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
        at Java.lang.reflect.Method.invoke(Method.Java:601)
        at com.zerog.lax.LAX.launch(DashoA10*..)
        at com.zerog.lax.LAX.main(DashoA10*..)

J'ai essayé de configurer Java_OPTS avec -Djava.awt.headless=true mais cela ne fonctionne pas!

Tout a une autre solution à la question?

15
user3197161

Essayez d'exécuter ce code dans le constructeur d'un servlet

System.setProperty("Java.awt.headless", "true"); 

ou 

Utilisez ce paramètre dans le script de démarrage du serveur:

-Djava.awt.headless=true

Voici un exemple de ce problème documenté et expliqué dans POI Apache lorsque vous souhaitez créer une feuille avec des colonnes de taille automatique.

15
Edgard Leal

Résolu le problème. C'était mon profil, où j'ai réglé mon AFFICHAGE sur un hôte, qui n'est pas actif. Je l'ai réglé correctement et cela a fonctionné.

$ export DISPLAY=

Ou

$ unset DISPLAY

10
user3197161

assurez-vous que vous n'avez pas changé de nom d'hôte et qu'après cela, le problème est survenu si c'est le cas, le problème vient du nom d'hôte.

1
raviteja katari
Usually, the program starts to activate the headless mode, telling the program, now you have to work in Headless mode, don't expect the hardware to help, you have to be self-reliant, relying on the computing power of the system to simulate these features: 
System.setProperty("Java.awt.headless","true");

Edit the ${Tomcat_HOME}/bin/catalina.sh or ${Tomcat_HOME}/bin/catalina.bat file:

In all similar code below: 
"$_RUNJAVA" $Java_OPTS $CATALINA_OPTS \ 
-Djava.endorsed.dirs="$Java_ENDORSED_DIRS" -classpath "$CLASSPATH" \ 
-Djava.security.manager \ 
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \ 
-Dcatalina.base="$CATALINA_BASE" \ 
-Dcatalina.home="$CATALINA_HOME" \ 
-Djava.io.tmpdir="$CATALINA_TMPDIR" \

Add a sentence at the end: 
-Djava.awt.headless=true \

The revised content is as follows: 
Exec "$_RUNJAVA" $Java_OPTS $CATALINA_OPTS \ 
-Djava.endorsed.dirs="$Java_ENDORSED_DIRS" -classpath "$CLASSPATH" \ 
-Dcatalina.base="$CATALINA_BASE" \ 
-Dcatalina.home="$CATALINA_HOME" \ 
-Djava.io.tmpdir="$CATALINA_TMPDIR" \ 
-Djava.awt.headless=true \

Directly search for the line -Djava.io.tmpdir="$CATALINA_TMPDIR" and add it under this line: 

-Djava.awt.headless=true \

There are a total of seven places, which can be solved after the restart. 
0
user2737538

J'ai eu le même problème avec mon serveur Linux. Je ne sais pas ce qui s'est passé, le problème a été parfaitement résolu en installant Xorg sur ma machine Linux.

Sudo apt-get install xorg openbox
0
Chenhai-胡晨海