Probably a stupid prerequisite problem (VASSAL won't start)

Robin Reeve

The Swiss Moron
Staff member
Moderator
Joined
Jul 26, 2003
Messages
19,595
Reaction score
5,557
Location
St-Légier
First name
Robin
Country
llSwitzerland
On the VASSAL forum, I evoked the problem.
Up to now the answers are :
- VASSAL won't adapt to Java 9
- You must run both versions of Java
- You must switch to Linux

This is quite a bad news for all people who are not programming geeks.
I would readily pay for a VASSAL engine which adapted to the developments of Java.
But as things are going, I will have to live with FtF only - i.e. nearly never be able to play otherwise than solo.
Or try the unpalatable "online by webcam" way of playing...
 

Pacman Ghost

Senior Member
Joined
Feb 25, 2017
Messages
590
Reaction score
298
Location
A maze of twisty little passages, all alike
Country
llAustralia
I read his reply, and you have no idea how angry it made me. It's things like this that give open-source, and Linux, and developers in general, a bad name.

I'm not interested in getting into a slanging match on the internet, but his answers are not good. It's disappointing, but understandable, if they're not going to update to a more recent version of Java, but leaving the existing user base hanging out to dry is a seriously Bad Thing. However, I wouldn't be too worried about what he said; it suggests (as does his posting history) that he's not a core developer, so he's not necessarily speaking on behalf of the project.

I suspect how this will play out is VASSAL will stay on Java 8, but they, or someone else, will provide instructions on how to set it up, stand-alone, so it won't interfere with any other version on the same computer. Hell, I wrote one above :-/ One version for Windows, one for Mac, one for Linux, tart 'em up with a few screenshots, and most people should be able to manage.

But I would like to see an official response from the core VASSAL developers, on how they intend to deal with this issue. Java 8 is (supposedly) officially supported until 2023 - and I say "supposedly" because it's a volunteer effort :rolleyes: - so yes, you could theoretically stick your head in the sand and not think about it for four and a half years, but people are clearly having problems with this right now, because their system Java's are being updated to something later than 8, and they don't know how to run a stand-alone version. I'm a developer myself, I know that it's more fun to be hacking away on the next feature rather than dealing with shit like this, but what are these people supposed to do?

Now git off my lawn... :mad:
 

Robin Reeve

The Swiss Moron
Staff member
Moderator
Joined
Jul 26, 2003
Messages
19,595
Reaction score
5,557
Location
St-Légier
First name
Robin
Country
llSwitzerland
Thank you for the explanations, Pacman Ghost.
If there are not too complicated ways to answer the problem - including different versions of the program, according to the different OS - most people will adapt.
Instructions must be simple and not too cumbersome...
 

dlazov

Elder Member
Joined
Mar 22, 2004
Messages
7,991
Reaction score
1,377
Location
Toledo, Ohio
First name
Don
Country
llUnited States
There is a way to shift to different versions of java on Linux and Windoze. Is that all that is needed? We have batch/shell scripts we use at work (same with nodejs).
 

Pacman Ghost

Senior Member
Joined
Feb 25, 2017
Messages
590
Reaction score
298
Location
A maze of twisty little passages, all alike
Country
llAustralia
I've been mulling over what to do about this. I could write up a proper set of instructions for Linux and Windows (which would be easily tweaked by someone with a Mac), but here is the wrong place to put it, as is Github, or on my personal website, or even the VASSAL wiki. It needs to go on the VASSAL download page, which hasn't been updated in years, so would any work I did go to waste?

That page says you need Java 5 or later, which is clearly wrong. And seriously guys, Java FIVE?! That was released in 2004 :eek: - when was the last time this page was updated?! They're letting every single person who downloads VASSAL find out, by themselves, the hard way, that VASSAL doesn't work with modern versions of Java. How many people have downloaded it, and said "this POS doesn't even work!" and dumped it? I'm as hardcore technical as they come, and even I wouldn't have said "Hey, maybe if I downgrade my Java to some ancient version, then it might work..." :rolleyes:
 

Pacman Ghost

Senior Member
Joined
Feb 25, 2017
Messages
590
Reaction score
298
Location
A maze of twisty little passages, all alike
Country
llAustralia
There is a way to shift to different versions of java on Linux and Windoze. Is that all that is needed? We have batch/shell scripts we use at work (same with nodejs).
There are several ways you can do it, but the problem goes deeper than that. The problem is, how does somebody who doesn't know what a shell script is, who doesn't know what Java is, doesn't know how to open a console or edit a text file, install a stand-alone version of Java, then reconfigure VASSAL to use it?

Yes, there are plenty of people out there who are not technically capable of doing anything more than clicking on a link and running the downloaded installer, but it's a huge amount of work to provide such an installer. So, it's a reasonable compromise to provide just a ZIP file, with the expectation that people have enough technical skills to download and unpack that ZIP, go to the directory, and launch the program binary. But expecting people to be able to run multiple system versions of Java, or install a stand-alone version and reconfigure VASSAL to use it, is not; that's going to be far beyond what most people are going to be able to do.
 
Last edited:

jrv

Forum Guru
Joined
May 25, 2005
Messages
21,998
Reaction score
6,206
Location
Teutoburger Wald
Country
llIceland
There are several ways you can do it, but the problem goes deeper than that. The problem is, how does somebody who doesn't know what a shell script is, who doesn't know what Java is, doesn't know how to open a console or edit a text file, install a stand-alone version of Java, then reconfigure VASSAL to use it?
What OS are you on? If linux I can help. If you are having trouble with mac or windows, what error or misbehavior are you getting? It's possible I can help.

JR
 

Pacman Ghost

Senior Member
Joined
Feb 25, 2017
Messages
590
Reaction score
298
Location
A maze of twisty little passages, all alike
Country
llAustralia
What OS are you on? If linux I can help. If you are having trouble with mac or windows, what error or misbehavior are you getting? It's possible I can help.
Thanks for the offer, but I wasn't referring to myself. I'm an ex-kernel developer, assembly language, C/C++, Python, PHP, Javascript, yadda yadda, after nearly 35 years of this, there isn't much I haven't done :), so getting this stuff up and running isn't a problem for me, but there will be a lot of people out there for whom it will be.
 

jrv

Forum Guru
Joined
May 25, 2005
Messages
21,998
Reaction score
6,206
Location
Teutoburger Wald
Country
llIceland
Thanks for the offer, but I wasn't referring to myself. I'm an ex-kernel developer, assembly language, C/C++, Python, PHP, Javascript, yadda yadda, after nearly 35 years of this, there isn't much I haven't done :), so getting this stuff up and running isn't a problem for me, but there will be a lot of people out there for whom it will be.
Perhaps they should ask for help.

JR
 

Robin Reeve

The Swiss Moron
Staff member
Moderator
Joined
Jul 26, 2003
Messages
19,595
Reaction score
5,557
Location
St-Légier
First name
Robin
Country
llSwitzerland
I certainly will be asking for help.
The problem is not to give unlearned people like me punctual explanations.
It is about allowing them to install VASSAL and have it run easily, without having to wade in the labyrinth of a forum.
The vassalengine.com site should anticipate the imminent problem of VASSAL's incompatibility with Java 9.
 

dlazov

Elder Member
Joined
Mar 22, 2004
Messages
7,991
Reaction score
1,377
Location
Toledo, Ohio
First name
Don
Country
llUnited States
I am pretty sure on my W7 VM I am running Java 9 and vassal and Vasl. I’ll check tomorrow. Most likely I am using the SDK as well.
 

zgrose

Elder Member
Joined
Jun 13, 2004
Messages
4,235
Reaction score
948
Location
Kingwood, TX
First name
Zoltan
Country
llUnited States
FWIW, Java 9 and Java 10 are past the end of support. Java 8 should be supported through 2020.
So if you guys want to work on something, I'd suggest focusing on Java 11 as the target.
 

jrv

Forum Guru
Joined
May 25, 2005
Messages
21,998
Reaction score
6,206
Location
Teutoburger Wald
Country
llIceland
I am pretty sure on my W7 VM I am running Java 9 and vassal and Vasl. I’ll check tomorrow. Most likely I am using the SDK as well.
I did not look into *why* I had a problem with java 9. I found a thread that said another user had a similar problem, which was resolved by switching back to java 8 (http://www.vassalengine.org/forum/viewtopic.php?f=3&t=10196). It's possible that with different OSes (e.g. windows 7) later versions of java work. Part of the reason that every day is a holiday when working with java. I know on my primary vasl machine anything later than java 8 gives me that error. I did not attempt to understand the underlying reason nor the range of affected systems. It's possible that it works on some systems and not others.

JR
 

zgrose

Elder Member
Joined
Jun 13, 2004
Messages
4,235
Reaction score
948
Location
Kingwood, TX
First name
Zoltan
Country
llUnited States
So I gave VASL 6.4.3 a whirl on Windows 10 with openjdk 11 and currently I have this error:

2019-01-13 15:03:31,127 [1-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS

Could be a packaging issue because I googled some similar issues with other java tools. Gonna see if I can grab updated dependent libraries.

On the plus side, since there doesn't appear to be a distinct JRE anymore, it looks to be trivial to launch VASSAL (on Windows) in whatever runtime you want. She far my script for java11 is:
set path=.;c:\jdk-11.0.1\bin
java -classpath lib\vengine.jar VASSAL.launch.ModuleManager

and my script for java8 is:
set path=.;c:\jre1.8.0_192\bin
java -classpath lib\vengine.jar VASSAL.launch.ModuleManager

Java11 also handles HighDPI screens much better. Whee!
 

zgrose

Elder Member
Joined
Jun 13, 2004
Messages
4,235
Reaction score
948
Location
Kingwood, TX
First name
Zoltan
Country
llUnited States
It looks like dropping xercesImpl-2.9.1.jar and xml-apis-2.9.1.jar into the VASSAL lib folder should let VASL run under JDK11. At least, it starts up and I can pick a map.
 

BigAl737

Elder Member
Joined
Apr 5, 2011
Messages
1,507
Reaction score
1,269
Location
AK
Country
llUnited States
The world is a better place with smart guys like you around. Thanks for all the troubleshooting.
 

dlazov

Elder Member
Joined
Mar 22, 2004
Messages
7,991
Reaction score
1,377
Location
Toledo, Ohio
First name
Don
Country
llUnited States
FWIW on my Windows 10 VM I am running Java 10.0.2. and Vassal 3.2.17 with Vasl 6.4.3.

I am not seeing any errors with this version of java.
 

von Marwitz

Forum Guru
Joined
Nov 25, 2010
Messages
14,358
Reaction score
10,207
Location
Kraut Corner
Country
llUkraine
FWIW on my Windows 10 VM I am running Java 10.0.2. and Vassal 3.2.17 with Vasl 6.4.3.

I am not seeing any errors with this version of java.
It shouldn't make a difference whether you run JAVA 10.0.2 and VASSAL 3.2.17 with VASL 6.4.3 on a VM or on a regular installation, correct?

Can anyone else confirm, that this combo functions?

von Marwitz
 

zgrose

Elder Member
Joined
Jun 13, 2004
Messages
4,235
Reaction score
948
Location
Kingwood, TX
First name
Zoltan
Country
llUnited States
It shouldn't make a difference whether you run JAVA 10.0.2 and VASSAL 3.2.17 with VASL 6.4.3 on a VM or on a regular installation, correct?

Can anyone else confirm, that this combo functions?

von Marwitz
It shouldn't matter on a VM or not, but why are you sticking with Java10?
 
Top