[ 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)