The Amos´s solution is the same related here: 

http://stackoverflow.com/questions/41265266/how-to-solve-inaccessibleobjectexception-unable-to-make-member-accessible-m/41265267
....

... the correct fix is to launch the JVM as follows:

# --add-opens has the following syntax: {A}/{package}={B}
java --add-opens java.base/java.lang=ALL-UNNAMED  <<<<<<<<<<<<<<<<<<<<<<<<



2017-01-05 12:01 GMT-02:00 Amos Feng <zfeng@redhat.com>:
Hi Mike,

I had tried MAVEN_OPTS="--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED" and it works.

Amos

----- Original Message -----
From: "Michael Musgrove" <mmusgrov@redhat.com>
To: "WildFly Dev" <wildfly-dev@lists.jboss.org>
Sent: Thursday, January 5, 2017 8:04:09 PM
Subject: [wildfly-dev] jdk 9 reflection problem

We have just upgraded our jdk build to 9-ea+149 which has tightened up the accessibility rules. The recommendation seems to be to use the --add-opens flag to override the rules.

I tried export MAVEN_OPTS="--add-opens java.base/java.util=ALL-UNNAMED" which made no difference. Our jdk 9 FAQ does not provided any hints either.

Can anyone provide advice on how to resolve the following maven build error:


[WARNING] Error injecting: org.apache.maven.plugins.war.WarMojo
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.ExceptionInInitializerError
at org.apache.maven.plugins.war.WarMojo.<init>(Unknown Source)
while locating org.apache.maven.plugins.war.WarMojo

...

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Comparator java.util.TreeMap.comparator accessible: module java.base does not "opens java.util" to unnamed m
odule @669f2128
at java.base/jdk.internal.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:427)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:201)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:171)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:165)
at com.thoughtworks.xstream.core.util.Fields.locate(Fields.java:40)
at com.thoughtworks.xstream.converters.collections.TreeMapConverter.<clinit>(TreeMapConverter.java:50)


--
Michael Musgrove
Transactions Team
e: mmusgrov@redhat.com
t: +44 191 243 0870

Our mission:To be the catalyst in communities of customers, contributors, and partners creating better technology the open source way.

Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham (US), Paul Hickey (Ireland), Matt Parson
(US), Charles Peters (US)

Michael Cunningham (US), Charles Peters (US), Matt Parson (US), Michael O'Neill(Ireland)

_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev
_______________________________________________
wildfly-dev mailing list
wildfly-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/wildfly-dev



--
___________________________
Eduardo Sant'Ana da Silva - Ph.D.
Researcher / IT Consultant