Skip to content

Spurious warning about incompatible .class files version in required binaries #3699

@oliviercailloux

Description

@oliviercailloux

When I add logback 1.5.6 as a dependency in my POM, vscode tells me: “Incompatible .class files version in required binaries. Project 'simple' is targeting a 17 runtime, but is compiled against '(…)/.m2/repository/ch/qos/logback/logback-core/1.5.6/logback-core-1.5.6.jar' (from the container 'Maven Dependencies') which requires a 21 runtime”.

I believe that the warning is incorrect: extracting the content of .m2/repository/ch/qos/logback/logback-core/1.5.6/logback-core-1.5.6.jar and running javap -verbose on a few classes reveal a major version equal to 55.

The JAR is a multi-release one, including some classes specific to Java 21. I suspect that this confuses vscode.

Environment

  • Operating System: linux
  • JDK version: 17
  • Visual Studio Code version: 1.91.0
  • Java extension version: v0.27.0

Steps To Reproduce

Add logback 1.5.6 as a dependency in your POM.

Here is a sample project.

Logs (partial and redacted): messages, server.

Current Result

Warning

Expected Result

No warning

Additional Informations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions