Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.java > #13139

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

Path csiph.com!fu-berlin.de!bofh.it!news.nic.it!robomod
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 Sat, 14 Mar 2026 00:50:01 +0100
Message-ID <Mykqt-7g4i-1@gated-at.bofh.it> (permalink)
X-Mailbox-Line From debian-java-request@lists.debian.org Fri Mar 13 23:45:13 2026
Old-Return-Path <olagache@free.fr>
X-Amavis-Spam-Status No, score=-7.199 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, BODY_INCLUDES_PACKAGE=-5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
X-Policyd-Weight NOT_IN_SBL_XBL_SPAMHAUS=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .free. - helo: .smtp4-g21.free. - helo-domain: .free.) FROM/MX_MATCHES_HELO(DOMAIN)=-2; rate: -5.5
MIME-Version 1.0
User-Agent Mozilla Thunderbird
Content-Language en-US, fr
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 8bit
X-Mailing-List <debian-java@lists.debian.org> archive/latest/23893
List-ID <debian-java.lists.debian.org>
List-URL <https://lists.debian.org/debian-java/>
List-Archive https://lists.debian.org/msgid-search/604daffa-be15-46b8-a298-dac235cfd78a@free.fr
Approved robomod@news.nic.it
Lines 75
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Date Sat, 14 Mar 2026 00:27:37 +0100
X-Original-Message-ID <604daffa-be15-46b8-a298-dac235cfd78a@free.fr>
Xref csiph.com linux.debian.maint.java:13139

Show key headers only | View raw


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 | NextNext in thread | Find similar


Thread

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