-
Notifications
You must be signed in to change notification settings - Fork 109
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
empty maven console in 2021-06 #182
Comments
From the print-out's I think the problem could be that Eclipse 2021-06 includes the What I've read so far, slf4j does not like it when bindings and API with version 2.0.0 and prior are mixed together. In my Eclipse 2021-03 (based on Modelling-tools) the first and third entry are not present. Also the question is how to solve the problem: Either somehow remove the slf4j-2 plug-in, upgrade m2e to slf4j-2 or make them work together? I'm not yet very familiar with slf4j but if nobody else can jump in and knows a solution I can search for one. |
slf4j v2 is coming in from jetty 10.0.2 |
It's the Eclipse project pulling it in. |
From all I know about slf4j, multiple bindings are not supported respectively all bindings except the chosen one are ignored (http://www.slf4j.org/codes.html#multiple_bindings). The case here is especially problematic, because with version 1.8 the binding mechanism changed: http://www.slf4j.org/faq.html#changesInVersion18 So from that I conclude the two options are to either avoid pulling in slf4j.api version 2.0 or to upgrade all usages of slf4j's api to use version 2.0. But the latter would probably affect many Eclipse plug-ins and should therefore be done in a more coordinated and long-term planned fashion. |
In platform we have upgraded Jetty to version 10. Jetty version 10 has a dependency for slf4j.api version 2.0.0. This where slf4j.api version 2 is coming from. to stop pulling slf4j.api version 2 we have to drop jetty update. I don't think that would be the way forward.
|
Agree. I can try to update m2e and the embedded maven runtime to use slf4j |
Maven itself uses slf4j 1.7; this is not something we can easily change and I'd rather relying on alpha versions for m2e. Jetty can rely on it if they want to, but we should probably avoid it here. |
#213 Should fix that. |
Thanks Mickael for taking care of it!
I was afraid that problem of that kind you mentioned would arise. Actually I thought that it would not be possible to mix multiple versions of slf4j bindings/API (especially before and after 1.8), because slf4j states that only one binding from the classpath is considered and it has to be compatible to the API. But I forgot that each bundle comes with its own ClassLoader and therefore has its own classpath. EDIT: The following paragraph sounds worse than it actually is. It actually works. See my my next answers.
But before this happens the https://download.eclipse.org/eclipse/updates location of the |
When installing the latest m2e snapshots that include the mentioned commits in my Eclipse-for committers latest (not released) Version: 2021-06 M2 (4.20.0 M2) and Build id: 20210506-1248 it works perfectly fine. I'm a bit puzzled about this discrepancy. Nevertheless I still get a error message about mutliple slf4j bindings:
|
The reason why Mickael's solution did not work for an Eclipse-Application launched from the m2e-dev workspace was first that I did not run the maven-runtime installation after rebasing on the current master (my fault) I worked around that issue locally at my computer by including the runtime bundles in the TP using a Maven-target (which should fetch them from my local maven repo) instead of m2e latest released p2 repo. And now it also works perfectly fine in the debugged Eclipse-Application. I'm not yet certain if this is a general problem or I just miss-configured something. At least some part's of the maven-runtime module pom's show that it is intended that the runtime-modules should generate the required PDE meta-data and should be considered as Eclipse-plugins. But I will continue this in issue #214. |
Thanks to @mickaelistria this issue was fixed with #213 and I think this can be closed. |
All the IDEs that I have upgraded to 2021-06M1 don't show normal output in the maven console. They only show the error messages for wrong logger bindings, and that's it (but the maven process runs to the end, as seen in task manager). Running the same launch config from 2021-03 IDEs is fine. Also other consoles in 2021-06M1 are fine, just the Maven console seems broken.
I've already uninstalled the optional feature org.eclipse.m2e.logback.feature.feature.group, but that didn't fix anything.
The text was updated successfully, but these errors were encountered: