Jekejeke Prolog runtime library is developed towards Java 1.6, we avoid using classes or members that belong to Java >1.6. In a few circumstances, we call Java >1.6 members or methods, but do this adaptively through reflection.

Versions following Java 1.6 show different characteristic concerning the performance of the virtual machine. Most differences can be found between JDK 1.8 and JDK 9. To take ad-vantage of these differences we recommend the following profiles:

The Java module system comes with a tighter class loader. This result is that source paths reverse translation does not work anymore. Release 1.4.0 of the Jekejeke Prolog runtime li-brary fixed that, but needs that the JDK 9 and after is started with this option:

java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED