[
https://issues.apache.org/jira/browse/OWB-1375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17301112#comment-17301112
]
Mark Struberg commented on OWB-1375:
------------------------------------
There is so many subtle changes in different Java versions that I really found
no good solution to work around it yet.
In e.g. Java14 a few subtle changes got made to MethodHandles privateAccess
handling again.
So probably the most practical way is really to tell people to add an
{{--add-exports java.base/jdk.internal.misc=ALL-UNNAMED}} as Romain already
mentioned.
I'd go on and add this as an automatically activated profile. Wdyt?
{noformat}
<profiles>
+ <profile>
+ <id>java16-hacks</id>
+ <activation>
+ <jdk>16</jdk>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>--add-exports
java.base/jdk.internal.misc=ALL-UNNAMED</argLine>
+ </configuration>
+
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
{noformat}
> improve support for Java 9++ hacks
> ----------------------------------
>
> Key: OWB-1375
> URL: https://issues.apache.org/jira/browse/OWB-1375
> Project: OpenWebBeans
> Issue Type: Improvement
> Components: Core
> Affects Versions: 2.0.21
> Reporter: Mark Struberg
> Assignee: Mark Struberg
> Priority: Major
> Fix For: 2.0.22
>
>
> With Java > 11 sun.misc.Unsafe defineClass finally got removed and
> setAccessible(true) for java.* classes is not allowed anymore.
> There is a solution via ClassLoaderProxyService as DefiningClassService (see
> OWB-1325) but this has the downside that package scoped methods are not
> accessible. A call to a package scope method of a NormalScope proxy thus
> cannot see the method in the proxy class and thus coerces to the empty
> original parent class. As this instance is not initialised all values are
> empty, resulting in NPE and zero values etc.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)