Tagged: maven eclipse slf4j
- This topic has 5 replies, 2 voices, and was last updated 8 months ago by Zohhak.
-
AuthorPosts
-
ZohhakParticipantHello,
Iam not sure if it started with 2023-12 or if it was earlier, but with the the current version of eclipse build with SDC it is not possible to use the integrated maven. You get following error message:
[ERROR] Error executing Maven. [ERROR] class "org.slf4j.MavenSlf4jFriend"'s signer information does not match signer information of other classes in the same package
Checking the installed Plugins in Eclipse and checking the signing information it looks like SDC is signing every bundle again. Is there an option to disable it for certain plugins? (if that is even the problem)
Steps to reproduce:
* Create new Eclipse IDE Package
* Select Eclipse 2023-12 IDE for Java Developers
* Save, build and install
* Open and create empty Maven Projekt
* Run any maven task on the projektDoes anyone have any insights what has to be changed for it to work?
Thank you for any help.
Kind Regards
Christian
Brian FernandesModeratorChristian,
I tried this at my end with the 2023-12 pack and could not reproduce this – tried an empty Maven project and ran an install to get a JAR, but it executed without issues. I’m guessing you probably used an archetype, or your project is somewhat different? To save time, if you can share your project and/or the
pom.xml
, I can give it another go quickly.Can you share what version of Maven is embedded? Preferences > Maven > Installations; I have 3.9.5.
I do see one reference to this being an issue with m2e’s plugins, though can’t say I’m sure myself it is really an issue at the plugin level.
ZohhakParticipantHi Brian,
for the project creation i simple used the eclipse wizards with skipped archetype selection. So the project is empty with just a simple empty pom file. It looks like it does not get to any maven tasks itself during the maven launch. My posted messages are the complete log i see.
The embedded Maven is the same: 3.9.5/3.9.500.202311113-2345
Maybe some other versions to verify:
Eclipse Adoptium Java 17
M2E – Maven Integration for Eclipse: 2.4.200.20231119-0901_win32-x86_64-7c0ad2d1cb5d4da3207496df909e657b
System is Windows 10I followed the m2e trail as well. I tried to find any information about the error message. The most promising hint i got was from following issue:
https://github.com/eclipse-m2e/m2e-core/pull/963#issuecomment-1264598973I tried the same setup with eclipse 2023-09. It works without issue. The difference is that the slf4-api bundle is unsigned in eclipse 2023-09, but signed by genuitec with 2023-12. Could you maybe verify if it is signed for you as well? Help > About Eclipse > Installation Details > Plug-Ins Tab > Search for slf4j > Show Signing Info
- This reply was modified 9 months ago by Zohhak.
ZohhakParticipantI got it to work when bundling a custom slf4j-version:
I build my own updatesite containing only the unsigned versions from maven central of slf4j-api and slf4j-simple in version 2.0.10 (eclipse 2023-12 bundles 2.0.9, but if i use the same version there is a conflict during promoting/building). Then imported this updatesite into SDC and added it to my test IDE Package. Now i am able to run maven jobs again.Nevertheless, it looks like that signing the jars broke it for me. My question is if there is an unsigned version of the eclipse softwarepack available for download?
Brian FernandesModeratorChristian,
Apologies for missing your response – I am glad however that you figured out the issue and were able to implement a workaround.
In the meanwhile, we have been able to reproduce the issue here as well, and as you stated, the problem is that when we built our discovery pack, we signed these JARs – what we normally do for JARs that are not signed when building our packs.
We don’t plan to re-release the 2023-12 pack at this time; there is a simple workaround that you can use to “fix” the pack you installed.
1) Shut down the SDC server
2) Within your SDC installation, find this pathDataFiles/packs/eclipse-discovery/v4.30.0/updatesite/plugins
– you can replace the slf4j.* plugins here with the unsigned versions you have located.
3) AtDataFiles/packs/eclipse-discovery/v4.30.0/updatesite/
, delete theartifacts.v11.optimized
file. (You can make a backup of the contents.jar and artifacts.jar in this folder)
4) Start the SDC serverSDC will now update the metadata for this site, it will not resign the slf4j.* plugins (that’s only done during building of a pack at our end). You can now make a small change (like changing the description) to allow you to commit and promote the package and build fresh installers. Note that any installed packages that already have the signed version of these plugins will not see updates to the unsigned versions (as the version is exactly the same), but fresh installs via the new installer or updates from a prior version of Eclipse (with older slf4j plugins) will get the correct versions.
Additional note – an Eclipse 2024.03 discovery pack is already available but unfortunately suffers from the same problem (and can be worked around, post install in the same way). We are working on a fix for SDC that will exclude slf4j JARs from the signing process during the pack build and will be re-releasing this pack as well, post that fix.
Apologies once again for the delay and the additional work involved in the custom workaround you had to apply. If you have any further questions, please let us know.
ZohhakParticipantHi Brian,
thank you for your explanation. It helped me roll out 2024-03 successfully.
Cheers,
Christian
-
AuthorPosts