Tycho 2.7.5 & OpenJDK11 failed since 8 march 24 #3573
-
Hi Tycho Community, I'm a tycho user for 7 years with no issue. Indeed, Eclipse has built & populated maven central with a new version of bundle org.eclipse.core.runtime as 3.31.0 (https://central.sonatype.com/artifact/org.eclipse.platform/org.eclipse.core.runtime/versions) that seems to not be anymore compiled against Java11 (class file 55.0) but Java 17 (class file 61.0) instead of. Tycho 2.7.5 depends on this bundle and seems not to depends on a specific version but a range. Can a tycho committer confirm my assumption about a dependency range for org.eclipse.core.runtime that is not strict enough ? Does anyone have an idea to solve that issue please ? Would it be possible to get a 2.7.6 fixing the issue (excluding new eclipse bundle version compiled against Java 17 for 2.7.x branch) ? Any help would be very much appreciated. Migration towards Java17 JDK is one option but, I would like to know if an alternative is possible. PS: Tycho 1.7.x builds are not impacted. Regards, |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 10 replies
-
I don't think Tycho itself is pulling this dependency, hut older releases of Eclipse has had dependencies that included items with an (open) version range what was quite bad as you notice here.
You can try to use To summarize, you either need to take actions to revive 2.7.x branch or you can pay someone to do the work for you but it is unlikely that current committers doing the work. The reason is that Tycho 2.7.x is quite outdated, the current latest release is Tycho4, and you don't need to migrate your code you just need to use a Java 17 JDK to run the maven build. |
Beta Was this translation helpful? Give feedback.
-
Hi there, That tycho has version ranges in it's dependencies is something we did not expect, as we are cautious with freezing version numbers of 3rd-party dependencies/plugins that we directly use. |
Beta Was this translation helpful? Give feedback.
-
As said Tycho 2.x is EOL since 2022-09-30 without any community support/releases, if it is crucial to your business you can find dedicated support options for Tycho here: |
Beta Was this translation helpful? Give feedback.
-
You can see where the offending versions are pulled in by looking at the tree for org.eclipse.tycho:tycho-build:jar:2.7.0. I can not run the build with Java 17 because the java.xml dependencies are missing in that version. I modified the poms of
to exclude the new versions
As we are running the builds via our own nexus repositories I uploaded the modified poms and respective jars to our releases repository. The builds now run normally as before. |
Beta Was this translation helpful? Give feedback.
Note that while I don't want to dissuade anyone from buying support, I would personally suggest anyone willing to invest support to "keep old versions" to invest the same effort in getting support for "adopt new versions", it will be much more profitable to everyone.
As mentioned already, even if Maven/Tycho uses Java 17, it can still build and target code for older Java versions. Basically, just install Java 17 as non-default, prefix you
mvn
command withJAVA_HOME=/path/to/java17
so the Java 17 installation is found and your next Maven commands will succeed with newer Tycho, without changing your PATH or anything.