Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure the classloader used for exec:java is a child first impl and that classpath used by it is controlled #160

Closed
rmannibucau opened this issue Jul 17, 2020 · 1 comment

Comments

@rmannibucau
Copy link
Contributor

rmannibucau commented Jul 17, 2020

Currently we can gather dependencies from the project and plugin def (+ additional elements) but it is impossible to solve conflicts with exclusions properly (in particular if you have multiple executions).
To add to that issue, the classloader used to do the exec is not a child first but a parent first so we inherit from the mojo classloader tree which is highly unlikely.

This issue is about ensuring classpath is more controlled but is not about fully isolating the exec from the parent classloader (would break too much projects I think and would need more thoughts about the design of the config (list of classes? packages? jars?...).

Example: it is insanely common with slf4j to have N > 1 bindings due to that.

@rmannibucau
Copy link
Contributor Author

PR -> #161

@olamy olamy closed this as completed in 0d9cc56 Jul 23, 2020
olamy added a commit that referenced this issue Jul 23, 2020
…with-exclusion-support

Fixes #160, ensure the java classloader is a child first one and supports to excludes some gathered classpath element to solve manually conflicts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant