Install YAWL 4.2 on Windows 120/Java 9/Tomcat 9

All proceeds to plan until I try to start the YAWL engine...I get this error:

I have looked at the manual/this forum and google...can't seem to find anything that deals with this. Should I install prior versions of Java/Tomcat?

Using JAVA_HOME: C:\Program Files\Java\jre-9.0.4
Using CATALINA_HOME: C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65
Using CATALINA_BASE: "C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin"
Using CATALINA_HOME: "C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65"
Using CATALINA_TMPDIR: """C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65\temp"""
Using JRE_HOME: "C:\Program Files\Java\jre-9.0.4"
Using CLASSPATH: "C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65\bin\bootstrap.jar;C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65\bin\tomcat-juli.jar"
-Djava.endorsed.dirs=C:\Users\Dunn\Documents\YAWL-4.2\engine\apache-tomcat-7.0.65\endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option PermSize; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Michael Adams

Tue, 02/06/2018 - 23:40

From your output, you can set that even though CATALINA_BASE refers to your Tomcat 9 install, CATALINA_HOME still points to Tomcat 7, in the standard YAWL 4.2 framework.

Running Tomcat 7 with Java 9 is problematic. The simplest workaround in this case is to edit you tomcat 7/bin/catalina.bat file to remove the 'endorsed_dirs' lines as described here: https://stackoverflow.com/questions/45917401/tomcat-7-0-73-doesnt-work-…

If you'd prefer running YAWL Control Panel version in Java 9, you'll need to copy from your Tomcat 7 to Tomcat 9 all the contents of the 'webapps' folder, the 'yawllib' folder and the 'database' folder. You will also need to make the appropriate changes to 'context.xml' and 'server.xml' in the 'conf' folder (do a diff between the two versions to see the things that need to be changed).

Alternately, you can do an 'enterprise' install of YAWL into Tomcat 9 (see the user manual for more details).

The next control panel version will include an update of Tomcat to resolve this issue for Java 9 users.


Mon, 07/16/2018 - 14:39

Most of the time you can fix this problem by uninstalling the Java runtime and then reinstalling it all over again. If you have both 32- and 64-bit applications that need to use Java, then you’ll need to download and install both versions of the Java runtime. Hopefully, this will fix your problem. Sometimes this error can be caused by not having enough system memory allocated to the Java Virtual Machine – or not enough system memory. In this case try the following :

Tap on Windows-Pause to open the System Control Panel applet. You can alternatively open the control panel manual to go there if you prefer it that way.
Click on advanced system settings on the left.
Select environmental variables here.
Click on new under System Variables.
Enter _JAVA_OPTIONS as the variable name.
Enter -Xmx512M as the variable value.
Click ok twice.

This allows up to 512MB to be allocated to the Java virtual machine. You can experiment with different values, if required. That's it, your Java program should now be able to execute properly.


For those interested, Java -Xmx/s is the configuration parameter that control the amount of memory Java uses.

Xmx sets the maximum heap memory size
Xms sets the minimum heap memory size