I’ve been using Alpaquita buildpacks for my java 17 services with the following maven configuration:
<configuration>
<image>
<name>${project.name}:${project.version}</name>
<builder>bellsoft/buildpacks.builder:musl</builder>
<bindings>
<binding>
${project.basedir}/bindings/certificates:/platform/bindings/ca-certificates
</binding>
</bindings>
<env>
<BP_JVM_VERSION>17</BP_JVM_VERSION>
<BP_JVM_JLINK_ENABLED>true</BP_JVM_JLINK_ENABLED>
<BP_JVM_JLINK_ARGS>
--no-man-pages --no-header-files
--strip-debug --compress=2 --add-modules
java.base,java.management,java.logging,java.naming,java.desktop,jdk.unsupported</BP_JVM_JLINK_ARGS>
</env>
</image>
</configuration>
However, whenever I try to do the same after upgrading to Java 21, I get the following error:
[INFO] [creator] Warning: Dependency has no SHA256. Skipping cache.
[INFO] [creator] Downloading from
[INFO] [creator] unable to invoke layer creator
[INFO] [creator] unable to get dependency
[INFO] [creator] unable to download
[INFO] [creator] unable to request
[INFO] [creator] Get "": unsupported protocol scheme ""
[INFO] [creator] ERROR: failed to build: exit status 1
Execution default of goal org.springframework.boot:spring-boot-maven-plugin:3.2.1:build-image failed: Builder lifecycle ‘creator’ failed with status code 51
I am somewhat new to docker / containerization, i’ve read the Bellsoft Alpaquita documentation. My guess was that the Alpaquita flavor buildpack/JRE is not yet available for Java 21. Can someone please advise how to get this done for Java 21? Do I need to revert to using the default spring boot buildpack that uses the regular Bellsoft liberica JRE?
Looking at the Docker Hub listing for that image. It hasn’t been updated in 10 months, which is pre-Java 21’s release. You’d need to contact the image maintainer and ask them to update, or switch to using the official Paketo builders (or another builder).