Handle ModuleInstall classes which are related to OSGi modules. #7624
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is to address the issue described in the discussion #7601.
When a Netbeans modules has a
ModuleInstall
class, we are trying to call thevalidate
method by reflection.If the
ModuleInstall
class is related to classes located in an OSGi module, we could face aNoClassDefFoundError
while callingc.getDeclaredMethod("validate")
because the OSGi modules have a delayed start, don't have yet been registered to theProxyClassPackages
and the systemClassLoader not being yet ready.As the validate method is called early in the startup process, such relations should be avoid as much as possible but it should not block the startup.
Thus the proposal is to catch the exception and continue the startup process (maybe without having called the validate method).