This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
When loading classes from NetBeans modules the parent classloaders are queried first. One of these classloaders is BootClassLoader containing all JARs from core, core/patches, core/locale and it means that also updater.jar is added so we always query it whether it contains some resource although only AU depends on it. There is no reason to have it there and AU module should load it as a module extension and we need to find a way how to locate it in launcher.
Adding Jarda to cc: as he commented out excluding of updater.jar from BootClassLoader resources when he had implemeneted cluster separation.
Imho there is no reason for the updater to be in core/*. Imho we should make it a separate module org-netbeans-modules-autoupdate-updater.jar that regular autoupdate would depend on (using friend dependency) and launcher would refer to this. Btw. the work in issue 64046 expects (or it would help) if all JAR core/* were modules. So moving this module is in general interest imho.
Created attachment 25176 [details] a proposed patch
I see a bit better numbers for simple cases of startup (0.5-2%) and a bit worse for complex one. Here I am not sure how it can be worse. However the difference is not too big to confirm (t-test support small improvement in simple start, complex start has too varying numbers). I prefer to make this change. Of course we have to update launchers too.
Checking in autoupdate/build.xml; /cvs/autoupdate/build.xml,v <-- build.xml new revision: 1.57; previous revision: 1.56 done Checking in autoupdate/libsrc/org/netbeans/updater/Localization.java; /cvs/autoupdate/libsrc/org/netbeans/updater/Localization.java,v <-- Localization.java new revision: 1.8; previous revision: 1.7 done Checking in autoupdate/nbproject/project.properties; /cvs/autoupdate/nbproject/project.properties,v <-- project.properties new revision: 1.10; previous revision: 1.9 done Checking in autoupdate/nbproject/project.xml; /cvs/autoupdate/nbproject/project.xml,v <-- project.xml new revision: 1.17; previous revision: 1.16 done Checking in ide/branding/build.xml; /cvs/ide/branding/build.xml,v <-- build.xml new revision: 1.20; previous revision: 1.19 done Checking in ide/golden/files-layout.txt; /cvs/ide/golden/files-layout.txt,v <-- files-layout.txt new revision: 1.105; previous revision: 1.104 done Checking in core/launcher/os2/nbexec.cmd; /cvs/core/launcher/os2/nbexec.cmd,v <-- nbexec.cmd new revision: 1.9; previous revision: 1.8 done Checking in core/launcher/unix/nbexec; /cvs/core/launcher/unix/nbexec,v <-- nbexec new revision: 1.26; previous revision: 1.25 done Checking in core/launcher/windows/nbexec.exe; /cvs/core/launcher/windows/nbexec.exe,v <-- nbexec.exe new revision: 1.18; previous revision: 1.17 done
Updating Windows launcher source (the respective change already included in the binary integrated by Jirka as part of the previous commit). Checking in nbexec.cpp; /cvs/core/launcher/windows/nbexec.cpp,v <-- nbexec.cpp new revision: 1.19; previous revision: 1.18