I have executed examples from
Now I have handson exps but still something is not clear.

Did Jigsaw broke backwards compatibility?
Running Main-Class from Manifest would not work like this?
java -jar surefire.jar

The problem is that it makes sense to me to use "*--patch-module*" along
building sources to Java 9 module using *module-info.java*.
So it is strange to me that somebody is going to compile *src/test/java* to
Jigsaw module e,g, "*test.base*" and it is strange that Manifest Main-Class
cannot be executed in Java 9.

So I compiled sources a little bit different way but the principle like

*javac -d target/test-classes/test.base

The module appears in *target/test-classes/test.base* using
Now I am going to provide patched class-path to *mypatches/test.base*
without having *module-info.class*.

This means we are going to suppress regular module in target and use
another class path
from location *mypatches/test.base* yet having sub-directory *test.base* as
module name (does not have module-info.class).

This executes console application in pkg.Test.java - not from Manifest.

*java --patch-module test.base=mypatches/test.base \--module-path
target/test-classes \--module test.base/pkg.Test*

The main problem here is that we are going to replace two class paths as
another workaround of old command "*java -jar surefire.jar*" which would
not work with Manifest anymore in JDK9, AFAIK.
Is it truth?
If it is truth, then it is broken backwards compatibility in Java.

Pls correct me if I am wrong and clarify more what is intended with Jigsaw
in Surefire.


Reply via email to