Skip to content

src/main/resources excluded from classpath for Gradle subprojects with generated source directories #4393

Closed
eclipse-jdtls/eclipse.jdt.ls
#3765

Description

@mmayfield-stratusdata

Describe the bug
After updating the VS Code extension to 1.54.0, I started seeing issues with my Java application re: Liquibase. The specific error was a failur to run with Failed to configure a DataSource: 'url' attribute is not specified. but after some digging with the help of an LLM it seems that the cause was that excluding='**' was being added to the entries in .classpath/src/main/resources.

It only happened with one subproject; the agent sugested that the excluding is only added when there is a generated source dir on the build path (like build/generated/sources/dgs-codegen).

To Reproduce
The LLM created these steps and I agree that they describe my situation:


  1. Open a multi-module Gradle project in VS Code with redhat.java 1.54.0
  2. Ensure at least one subproject has a generated source directory on its build path (e.g. DGS codegen, annotation processing)
  3. Wait for "Java: Ready"
  4. Open the generated .classpath for that subproject in the JDT workspace storage (at ~/Library/Application Support/Code/User/workspaceStorage//redhat.java/jdt_ws/.metadata/.plugins/org.eclipse.core.resources/.projects//.classpath)
  5. Observe that src/main/resources has excluding="**" on its entry, while a sibling subproject without generated sources does not
    The practical consequence for Spring Boot projects: the app fails to start because application.yml is not on the classpath (Tomcat defaults to port 8080, datasource properties are unresolved).

Unfrotunately I don't have a sample project to attach; mine is a closed source application.

Expected behavior
Just like in 1.53.0, src/main/resources doesn't use excluding="**", and resource files are copied to the output dir during compilation so they're available at runtime.

Screenshots
N/A

Environment

  • Operating System: macOS 15.6 (Apple Silicon, arm64)
  • JDK version: 17.0.18
  • Visual Studio Code version: 1.116.0
  • Java extension version: 1.54.0 (doesn't work) / 1.53.0 (works)

Additional Information
The excluding prop is added with both java.gradle.buildServer.enabled: "auto" and java.gradle.buildServer.enabled: "off"

Activity

  1. David-N-Perkins commented on Apr 15, 2026

    @David-N-Perkins

    I also believe this is the root cause for an issue I'm seeing with unit tests.

    The class loader can't find any test resources, because they are getting excluded from the test build. Works fine on version 1.53.0.

  2. bantu commented on Apr 20, 2026

    @bantu

    Confirming
    broken: 1.54.0
    not broken: 1.53.0

  3. snjeza commented on Apr 20, 2026

    @snjeza
    Collaborator

    @mmayfield-stratusdata @bantu Could you try to add

    "java.jdt.ls.scalaSupport.enabled": false,
    

    to settings.json

  4. added this to the End of October 2026 milestone on Oct 15, 2026
  5. datho7561 commented on Oct 15, 2026

    @datho7561
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions