Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.java > #13139
| From | Olivier Lagache <olagache@free.fr> |
|---|---|
| Newsgroups | linux.debian.maint.java |
| Subject | The package `eclipse-jdt-core-compiler-batch` version 3.35.0 in Debian 13 contains a inconsistency between its MANIFEST.MF metadata and the actual bytecode version of compiled classes |
| Date | 2026-03-14 00:50 +0100 |
| Message-ID | <Mykqt-7g4i-1@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Package: eclipse-jdt-core-compiler-batch Version: 3.35.0 # Issue Description Package: libeclipse-jdt-core-compiler-batch-java` version `3.35.0+eclipse4.29-2 Distribution: Debian 13 (Trixie) Severity: High (breaks Java 17 applications using JSP/Jasper Affects: All Tomcat 10 deployments on Java 17 # Inconsistency Details MANIFEST.MF declares: - Created-By: 21.0.4+7-Debian-3 (Debian) - Bundle-RequiredExecutionEnvironment: JavaSE-17 Actual bytecode version: $ javap -v org/eclipse/jdt/internal/compiler/env/INameEnvironment.class public interface org.eclipse.jdt.internal.compiler.env.INameEnvironment minor version: 0 major version: 65 <-- Java 21 (should be 61 for Java 17) # Impact This inconsistency breaks **Apache Tomcat JSP compilation** for applications running on Java 17: java.lang.UnsupportedClassVersionError: org/eclipse/jdt/internal/compiler/env/INameEnvironment has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0 **Affected components:** - Apache Tomcat 10.x with JSP support - Any application using Eclipse JDT Core for runtime compilation on Java 17 - Spring Boot applications with embedded Jasper # Root Cause Analysis The package was built using Java 21 (Debian 13 default) while the MANIFEST.MF was not updated to reflect the actual bytecode target version. - Critical dependency chain:** libtomcat10-java ├─ Depends: libeclipse-jdt-core-java (3.35.0) └─ Depends: libeclipse-jdt-core-compiler-batch-java (3.35.0) ← PROBLEMATIC - Impact: - `libtomcat10-java` has a **hard dependency** on the problematic package - All Tomcat 10 installations on Debian 13 automatically pull this package - Applications running on Java 17 fail when JSP compilation occurs - Expected behavior: - If compiled with Java 21, MANIFEST should declare `Bundle-RequiredExecutionEnvironment: JavaSE-21` - If targeting Java 17, package should be compiled with `javac --release 17` flag - Debian should provide separate packages for different Java versions OR use the lowest common denominator (Java 17) # Reproduction Steps 1. Install Debian 13 with default Java 17 2. Install `libtomcat10-java` and `eclipse-jdt-core-compiler-batch` 3. Deploy any Spring Boot application with JSP views 4. Access a JSP page 5. Observe `UnsupportedClassVersionError` Exception # Proposed Solutions - Update the build configuration to explicitly target Java 17 Best Regards
Back to linux.debian.maint.java | Previous | Next — Next in thread | Find similar
The package `eclipse-jdt-core-compiler-batch` version 3.35.0 in Debian 13 contains a inconsistency between its MANIFEST.MF metadata and the actual bytecode version of compiled classes Olivier Lagache <olagache@free.fr> - 2026-03-14 00:50 +0100 Re: The package `eclipse-jdt-core-compiler-batch` version 3.35.0 in Debian 13 contains a inconsistency between its MANIFEST.MF metadata and the actual bytecode version of compiled classes Emmanuel Bourg <ebourg@apache.org> - 2026-03-16 15:20 +0100
csiph-web