Hi Igor,
moving this to dev-list.
I've asked an explanation of the Java developers team. They confirm that
they've made a more clear separation of boot-, system- and
application-classloader. They wondered why we put "null" there in the
first place, because in general the boot classloader is not enough.
I've tested if and this change would be the required fix for MANTRUN-200.
I haven't found any failing tests yet.
If this causes issues for other frameworks we need to have a look what
should be changed combined with the impact. Were they relying on a bug in
Maven. Based on the analysis so far this should be the proper fix.
Can you somehow try to verify first if this is really an issue. I'm not
sure if this should be reverted because of _potential_ issues, because in
the end every change could result in new issues.
I'll try to prepare new Maven installation locally and run other Maven
subprojects as well.
thanks,
Robert
ps Stephen gave me the +1 for merging.
On Thu, 24 Aug 2017 14:30:00 +0200, Igor Fedorenko (JIRA)
<[email protected]> wrote:
[
https://issues.apache.org/jira/browse/MNG-6275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16139975#comment-16139975
]
Igor Fedorenko commented on MNG-6275:
-------------------------------------
I don't have time to do proper analysis of this, but this change will
likely cause problems in m2e, plugin testing, jenkins and other embedded
usecases, where contents of system classloader is generally unknown and
can contain classes that either collide or confuse plugins in some other
ways (e.g. random/unrelated components visible to plugins in only some
environments, which will be very hard to troubleshoot).
PS: didn't we agree to get all core changes reviewed and +1'ed by at
least one other developer before pushing to master?
ServiceLoaderFactory can't find implementations via ClassRealm
--------------------------------------------------------------
Key: MNG-6275
URL: https://issues.apache.org/jira/browse/MNG-6275
Project: Maven
Issue Type: Bug
Components: Class Loading
Reporter: Robert Scholte
Assignee: Robert Scholte
Priority: Critical
Fix For: 3.5.1
Spotted this issue via MANTRUN-200. The reason is that in the
{{DefaultClassRealmManager}} a new realm is created where the parent
classLoader is {{null}}. This implies that the bootstrap classloader is
used as parent.
With Java8 nashorn has become an extension and is not part of the
bootstrap classloader anymore.
It is kind of strange that we want the bootstrap classloader here, it
makes more sense if the system classloader is used (but with Java 7 and
older versions of Java this was not an issue, both worked fine).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]