redhat-developer / redhat-developer/vscode-java

Resources (application.properties) automatically deleted from bin folder shortly after generation in Gradle project

Offen
#4,398 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

Describe the bug
In a Gradle multi-module project environment, the application.properties file is correctly auto-generated/copied into the bin/main folder after a "Clean Java Language Server Workspace" command or project build. However, after approximately 5-10 seconds, the file is automatically deleted from the disk without any user interaction.
To Reproduce
Steps to reproduce the behavior:

  1. Open a Gradle multi-module project in VS Code.
  2. Run the command: Java: Clean Java Language Server Workspace.
  3. Open the file explorer and navigate to the output directory (e.g., project/bin/main).
  4. Observe that application.properties is generated.
  5. Wait for about 5 seconds.
  6. The file disappears from the folder automatically.
Image Image Image

Expected behavior
The language server should copy resources from src/main/resources to the output folder and ensure they persist there for the application to use during runtime and debugging.

Environment

  • Operating System: Windows 11
  • JDK version: 25
  • Visual Studio Code version: v1.104.0
  • Java extension version: v1.54.0

Additional Information

  • This issue occurs specifically in a Gradle setup where the Language Server (Eclipse JDT.LS) seems to have a conflict with the internal build/sync process.
  • Attempting to set a separate output folder (e.g., bin/main/) results in a "Cannot nest output folder" error.
  • The logs show a warning: WARNING: Reflective call to EquinoxBundle#getModuleClassLoader(boolean) detected.
  • A temporary workaround is manually running .\gradlew.bat processResources, but the file is eventually deleted again by the language server's background synchronization.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduzieren Sie das Problem in einem Windows 11-Gradle-Multi-Modul-Projekt mit Java: Führen Sie Clean Java Language Server Workspace aus und untersuchen Sie anschließend die Language-Server-Logs, während Sie den generierten Inhalt von bin/main mit .\gradlew.bat processResources vergleichen. Verwenden Sie das gemeldete Verhalten des Ausgabeordners und der Synchronisierung als Ausgangspunkt. Als erledigt gilt die Aufgabe, wenn application.properties nach der Hintergrundsynchronisierung im Ausgabeordner verbleibt und zur Laufzeit sowie beim Debugging verfügbar ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript
Bereich
build-system, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.