Details
-
New Feature
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
3.5.1
-
None
Description
JDK 9 now supports the the follow argument:
javac -release 7
This replaced both `-source 7` and `-target 7`. And it prevents from using methods introduced in JDK 9 or JDK 8 when compiling for 7 with JDK 9. So `-release 8` basically better in every way than `-source 7 -target 7`.
http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-July/002414.html
Support this in the maven-compiler plugin, something like:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <release>7</release> </configuration> </plugin>
When compiling with JDK 9, it should just do `javac -release 7`.
When compiling with JDK 8 or lower, it should fallback to `javac -source 7 -target 7`, so it behaves exactly like:
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>7</source> <target>7</target> </configuration> </plugin>
Attachments
Issue Links
- is related to
-
MCOMPILER-468 Introduce parameter to be used for source, target and release
-
- Closed
-