Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.5.1
-
None
Description
This plugin collapses multiple compiler args with the same name into a single one.
An example of where this is an issue is when exporting extra packages from a Java SE 9 module:
Suppose we want to export two packages (package1 and package2) from a module called FROM-MOD to the OTHER-MOD module. The syntax for this is:
javac ... --add-exports FROM-MOD/package1=OTHER-MOD --add-exports FROM-MOD/package2=OTHER-MOD
and the plugin configuration for this is:
<configuration> ... <compilerArgs> <arg>--add-exports</arg> <arg>FROM-MOD/package1=OTHER-MOD</arg> <arg>--add-exports</arg> <arg>FROM-MOD/package2=OTHER-MOD></arg> <compilerArgs> </configuration>
which produces:
javac ... --add-exports FROM-MOD/package1=OTHER-MOD FROM-MOD/package2=OTHER-MOD
Notice the missing --add-exports for the second export so the compiler complains with the error:
Caused by: java.lang.IllegalArgumentException: invalid flag: java.corba/com.sun.corba.se.spi.ior=ALL-UNNAMED
A concrete but basic example maven project is attached.