cloudfoundry / cloudfoundry/cf-java-client

Integration tests fail: test-service-broker.jar incompatible with java-buildpack v5 (JDK 17 default)

Offen Anfängerfreundlich
#1,344 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Java
Sterne
334
Forks
319
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

On March 20-21, 2026, the java-buildpack main branch was updated to v5.0.1, which defaults to JDK 17 (up from JDK 8 in v4.x).

The integration tests hardcode buildpack("https://github.com/cloudfoundry/java-buildpack.git") in ApplicationUtils.java:230, so they now get JDK 17. The bundled test-service-broker.jar is a Spring Boot 1.5.16 app (built ~2018) that relies on CGLIB reflective access incompatible with JDK 17's module system. The app crashes on startup with InaccessibleObjectException, causing DelayTimeoutException and failing all tests that depend on serviceBrokerId.

Workaround

Add --add-opens flags to the service broker environment in ServiceBrokerUtils.pushServiceBrokerApplication():

env.put("JAVA_OPTS",
    "--add-opens java.base/java.lang=ALL-UNNAMED"
        + " --add-opens java.base/java.io=ALL-UNNAMED");

Potential longer-term fixes

  • Rebuild test-service-broker.jar with a modern Spring Boot version
  • Pin the buildpack to a version tag or use the system buildpack instead of tracking main

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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

Beginne in integration-test/src/test/java/org/cloudfoundry/ServiceBrokerUtils.java bei pushServiceBrokerApplication(), untersuche anschließend ApplicationUtils.java und den Kontext von test-service-broker.jar. Führe die Integrationstests aus, die von serviceBrokerId abhängen, und bestätige, dass der Broker unter java-buildpack v5/JDK 17 ohne DelayTimeoutException startet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, spring-boot
Bereich
backend, testing-qa
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
Ein halber Tag
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
74/100

Neue Issues direkt in Ihr Postfach

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