Created attachment 163752 [details]
OpenIDE-Module-Hide-Classpath-Packages hides resources from the enumerated (sub)packages from the app classloader. But when searching for Package version, the exclusion does not work. Resources from JDK are filtered out, but Package objects, incl. their 'sealed' property are not.
In JDK9, modules have sealed packages, and if javac implementation from JDK loads before NB javac' implementation for some reason (e.g. jshell :)), NetBeans classloader will throw SecurityException when it attempts to lead nb-javac code.
The attached patch should make the check for package objects evaluate the same way as for resources within that package. Please review.
The patch looks fine and it can be integrated.
Fixed in jet-main#fd0ef30f1b1b
Integrated into 'main-silver', will be available in build *201703100002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Svata Dedic <email@example.com>
Log: #269972: Package declarations filtered accordin to Hide-Classpath-Packages