[messages] [Technical Support & Bugs] xubuntu 18.04 & module load error fix

gronard42 philip.gillman at gmail.com
Sat Sep 22 06:00:42 CEST 2018


Running Vassal 3.2.17 under xubuntu 18.04 produced this error when
trying to load a module


Code:
2018-09-22 13:28:03,809 [0-main] INFO  VASSAL.launch.StartUp - Starting
2018-09-22 13:28:03,811 [0-main] INFO  VASSAL.launch.StartUp - OS Linux
4.15.0-34-generic
2018-09-22 13:28:03,812 [0-main] INFO  VASSAL.launch.StartUp - Java
version 10.0.2
2018-09-22 13:28:03,812 [0-main] INFO  VASSAL.launch.StartUp - VASSAL
version 3.2.17
2018-09-22 13:28:04,106 [0-AWT-EventQueue-0] INFO 
VASSAL.launch.ModuleManager - Manager
2018-09-22 13:28:21,508 [0-SwingWorker-pool-1770807808-thread-1] INFO 
VASSAL.launch.AbstractLaunchAction - Loading module file
/home/suhtek/Downloads/mods/Ambush_v1.1.vmod
2018-09-22 13:28:21,633 [0-SwingWorker-pool-1770807808-thread-1] INFO 
VASSAL.launch.TilingHandler - No images to tile.
2018-09-22 13:28:21,634 [0-SwingWorker-pool-1770807808-thread-1] INFO 
VASSAL.launch.AbstractLaunchAction - Loading module Ambush
2018-09-22 13:28:21,638 [0-SwingWorker-pool-1770807808-thread-1] INFO 
VASSAL.tools.io.ProcessLauncher - launching
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -Xms256M -Xmx512M
-DVASSAL.id=1 -DVASSAL.port=46819 -Duser.home=/home/suhtek
-Duser.dir=/media/suhtek/STEAMLIB/SYSTEM/VASSAL-3.2.17 -cp
/media/suhtek/STEAMLIB/SYSTEM/VASSAL-3.2.17/lib/Vengine.jar
VASSAL.launch.Player --load --
/home/suhtek/Downloads/mods/Ambush_v1.1.vmod
2018-09-22 13:28:22,643 [1-main] INFO  VASSAL.launch.StartUp - Starting
2018-09-22 13:28:22,648 [1-main] INFO  VASSAL.launch.StartUp - OS Linux
4.15.0-34-generic
2018-09-22 13:28:22,648 [1-main] INFO  VASSAL.launch.StartUp - Java
version 10.0.2
2018-09-22 13:28:22,648 [1-main] INFO  VASSAL.launch.StartUp - VASSAL
version 3.2.17
2018-09-22 13:28:22,649 [1-main] INFO  VASSAL.launch.Launcher - Player
2018-09-22 13:28:23,137 [0-ProcessLauncher-2] WARN 
VASSAL.tools.logging.LoggedOutputStream - WARNING: An illegal reflective
access operation has occurred
WARNING: Illegal reflective access by
VASSAL.tools.image.ImageIOImageLoader
(file:/media/suhtek/STEAMLIB/SYSTEM/VASSAL-3.2.17/lib/Vengine.jar) to
field sun.java2d.cmm.ProfileDeferralMgr.deferring
WARNING: Please consider reporting this to the maintainers of
VASSAL.tools.image.ImageIOImageLoader
WARNING: Use --illegal-access=warn to enable warnings of further illegal
reflective access operations
WARNING: All illegal access operations will be denied in a future
release
2018-09-22 13:28:23,516 [1-AWT-EventQueue-0] ERROR
VASSAL.tools.ErrorDialog - 
java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS
	at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009)
~[na:na]
	at
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
~[na:na]
	at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
~[na:na]
	at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009)
~[na:na]
	at
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622)
~[na:na]
	at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
~[na:na]
	at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
~[na:na]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
~[na:na]
	at org.apache.xerces.util.ObjectFactory.findProviderClass(Unknown
Source) ~[xercesImpl.jar:na]
	at
org.apache.xerces.parsers.AbstractDOMParser.setDocumentClassName(Unknown
Source) ~[xercesImpl.jar:na]
	at org.apache.xerces.parsers.AbstractDOMParser.reset(Unknown Source)
~[xercesImpl.jar:na]
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
~[xercesImpl.jar:na]
	at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
~[xercesImpl.jar:na]
	at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
~[xercesImpl.jar:na]
	at
java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
~[na:na]
	at VASSAL.build.Builder.createDocument(Builder.java:160)
~[Vengine.jar:na]
	at VASSAL.launch.BasicModule.build(BasicModule.java:110)
~[Vengine.jar:na]
	at VASSAL.build.GameModule.init(GameModule.java:855) ~[V



OpenJdk 11 is the current default for xubuntu bionic so I installed
OpenJdk 8 via synaptic.

running the following code brings up a cmdline menu to change default
java implementation:

Code:
sudo update-alternatives --config java



should produce output somewhat like:

Code:
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority 
 Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101    
 auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101    
 manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081    
 manual mode

Press <enter> to keep the current choice[*], or type selection number:



entering <2> sets to java 8.

to test if that worked enter:

Code:
java -version

  

which outputs:

Code:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build
1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)



Vassal now works :)

a quicker method is to run the following code before launching vassal

Code:
sudo update-alternatives --set java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java



this will set Java to Java 8.
note: your path may vary, the previous --config command will output the
actual paths needed to invoke these codes.

after closing vassal execute the following to reset java back to java 11

Code:
sudo update-alternatives --set java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java



_______________________________________________
Read this topic online here:
http://www.vassalengine.org/forum/viewtopic.php?p=55777#p55777


More information about the messages mailing list