构建'--use container'时更改aws sam中使用的maven

问题描述

我们使用 AWS SAM 来帮助本地开发我们的 java lambda 函数。我不想在本地安装 maven,而是想将 maven 添加到 AWS SAM Docker 容器并在容器内构建,这样我就不会将本地 env 与 dev env 混淆。这些 SAM 容器中的开箱即用 maven 对我们不起作用的原因是我们有自定义 maven 中心指向 maven。

我写了一个 Dockerfile,它本质上是在上面安装 maven

amazon/aws-sam-cli-emulation-image-java8

然后将我自己的 settings.xml 复制到 docker 容器中已安装的 maven conf 目录中。使用 docker cli 检查 cpy 是否成功,但是,当我启动 'sam build --user container' 时,容器指向基于我的 Dockerfile 的容器,它仍然使用认的 maven 中央存储库,而不是我的自定义存储库。

尝试查看 sam 的 java maven 工作流程以找出任何可能的自定义 maven 方法,不确定是否存在。这是我的问题,

当我们 'sam build --use-container' 时,我知道构建发生在容器内。但是我不清楚使用了什么用户和路径。我尝试为 sam build 打开 --debug 。没有帮助。在容器中搜索任何 settings.xml 文件和 mvn 目录,似乎只有一个是我希望 SAM 使用的。因此,我很困惑 maven 如何继续指向认的 maven 中央而不是我自己的,即在 sam build --use-container 中使用哪个 maven

任何提示/线索/技巧都非常受欢迎。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)