[ 
https://issues.apache.org/jira/browse/IGNITE-6730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16312670#comment-16312670
 ] 

Vladimir Ozerov commented on IGNITE-6730:
-----------------------------------------

[~vveider],
Here is what I found when trying to run the project under Java9:
1) The following options should be added to both {{javac}} (to compile) and 
{{java}} (to run)
{code}
--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports 
java.base/sun.nio.ch=ALL-UNNAMED --add-exports 
java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports 
jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
{code}
2) When p.1 added, compiler refuses to work out of the box because compiler 
source/target levels are set to {{1.7/1.8}} in multiple places in the project. 
I had to change them to {{1.9}} to let compiler work.

*Suggested fix*
1) Review all usages of {{maven-compiler-plugin}} in the projects (~15 items)
1.1) Remove those which are not needed and could be inherited (e.g. why do we 
need it {{ignite-indexing}}?)
1.2) Make sure that level {{1.8}} is set once and only once for all usages in 
the parent project properties
2) Introduce {{java9}} module
2.1) Should be activated when Java9 is detected (same as we did that for 
{{java8}} module earlier)
2.2) Should add aforementioned compiler options [1], so that no additional 
actions are required from users to compile it

[1] 
https://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html



> Java 9: fix project build procedure
> -----------------------------------
>
>                 Key: IGNITE-6730
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6730
>             Project: Ignite
>          Issue Type: Task
>          Components: build
>    Affects Versions: 2.3
>            Reporter: Vladimir Ozerov
>            Assignee: Peter Ivanov
>             Fix For: 2.4
>
>
> 1) In most modules compiler level is set to 1.7 explicitly. Should we fix it 
> somehow? See commit {{a450452e}} for reference.
> 2) Most probably we will have separate code flows for Java 7/8 and Java 9. 
> Need to understand how to organize this. Most probably we will have two 
> pluggable modules producing separate JARs, which will be linked in runtime. 
> Any other ideas?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to