cloudfoundry / cloudfoundry/cf-java-client
Integration tests fail: test-service-broker.jar incompatible with java-buildpack v5 (JDK 17 default)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 334
- Forks
- 319
- PR merge metrics
- No merged PRs in 30d
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in integration-test/src/test/java/org/cloudfoundry/ServiceBrokerUtils.java at pushServiceBrokerApplication(), then inspect ApplicationUtils.java and the bundled test-service-broker.jar context. Run the integration tests that depend on serviceBrokerId and confirm the broker starts under java-buildpack v5/JDK 17 without DelayTimeoutException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- Half a day
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100