Paketo Buildpacks本地JDK依赖映射配置报错求助
问题排查与修复
核心错误原因
你挂载绑定目录的路径有误,导致Paketo构建器无法在/platform/bindings/dependency-mapping目录下找到type文件。
具体来说,你的pack build命令中,volume参数把本地的dependency-mapping目录挂载到了容器内的/platform/bindings/dependency-mapping/binaries,而非直接挂载到/platform/bindings/dependency-mapping。这使得构建器读取绑定配置时,找不到位于绑定根目录下的type文件,从而抛出"missing 'type'"错误。
修复步骤
调整本地绑定目录结构
确保本地dependency-mapping目录结构如下:dependency-mapping/ ├── type └── 138f8bd3801445391ff19d683ea7f3c4662dcd0e2cd0b8ab2a5d3966b05124f8type文件内容为dependency-mapping- 哈希命名的文件内容为容器内JDK的路径:
file:///platform/bindings/dependency-mapping/binaries/bellsoft-jdk11.0.19+7-linux-amd64.tar.gz
修正pack build命令的volume挂载参数
将本地绑定目录直接挂载到容器的绑定根目录,同时单独挂载JDK二进制文件目录:pack build binding_test:sep4 \ --path . \ --volume /home/ubuntu/binding_tool-v1.20.2-x86_64-unknown-linux-gnu/bindings/dependency-mapping:/platform/bindings/dependency-mapping \ --volume /your/local/jdk/folder:/platform/bindings/dependency-mapping/binaries \ --env BP_JVM_VERSION=11.0.19 \ --builder paketobuildpacks/builder:base替换
/your/local/jdk/folder为存放bellsoft-jdk11.0.19+7-linux-amd64.tar.gz的本地目录路径。验证哈希文件名正确性
确认哈希文件名138f8bd3801445391ff19d683ea7f3c4662dcd0e2cd0b8ab2a5d3966b05124f8是Bellsoft Liberica JDK 11.0.19+7 Linux AMD64版本的SHA256哈希值,不匹配会导致构建器无法识别依赖映射,需重新计算替换。
内容的提问来源于stack exchange,提问作者deepak bolisetti
相关产品推荐
相关产品推荐

