cloudfoundry / cloudfoundry/cf-java-client

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

Ouverte Adaptée aux débutants
#1,344 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Java
Étoiles
334
Forks
319
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez dans integration-test/src/test/java/org/cloudfoundry/ServiceBrokerUtils.java, au niveau de pushServiceBrokerApplication(), puis examinez ApplicationUtils.java et le contexte de test-service-broker.jar inclus. Exécutez les tests d’intégration qui dépendent de serviceBrokerId et confirmez que le broker démarre avec java-buildpack v5/JDK 17 sans DelayTimeoutException.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, spring-boot
Domaine
backend, testing-qa
Type d'issue
Bug
Difficulté
2/5
Temps estimé
Une demi-journée
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
74/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.