Dockerfile 执行 ADD 命令时,maven还没有编译出 target 包,导致执行失败

小象鸭 发布于 11/09 19:36
阅读 131
收藏 1

Dockerfile中执行ADD这个命令时,target包还没有编译出来,导致报错找不到包,有什么解决办法吗

以下是问题补充:

@小象鸭:抱歉,可能我没描述清楚。以当前这种情况,我好像只能手动打jar包,然后上传代码同时提交target目录到master分支(不然构建镜像找不到),然后让docker打镜像。我要怎样可以不用我手动打jar包,把maven的打包流程自动化 (11/11 10:00)
加载中
0
mlovewt
mlovewt
命令执行的顺序
小象鸭
小象鸭
嗯,我明白这个道理,就是现在需要手动打包
0
dogo_小小人物
dogo_小小人物

你的这个jar包不应该先打包好,再去执行docker build 的命令吗?
你需要确保在编译docker镜像的时候,先编译java项目。

 

小象鸭
小象鸭
回复 @dogo_小小人物 : 我试过这个方法,结果还是不支持,而且每次打包都要安装maven环境,我中间使用阿里云云效加了一层maven编译就好了
dogo_小小人物
dogo_小小人物
回复 @小象鸭 : 你可以将源代码add到dockerfile 里面,在里面安装 mvn 命令,然后使用run 命令调用mvn来编译jar包
小象鸭
小象鸭
嗯,我明白这个道理和顺序,先打jar,再构建镜像。就是现在需要手动把包打好,我想让它自动打jar包编译构建,但Dockerfile中也不支持 mvn 命令
0
Holt_Vong
Holt_Vong

试试谷歌的jib-maven-plugin

0
gammey
gammey

反正我是不在编译器里搞这些,这些东西直接传到git上,然后jenkins执行shell脚本,编译打包完成后,再构建镜像。

小象鸭
小象鸭
是啊,我之前也是这样弄,现在不用Jenkins了,就得想办法搞定这个
返回顶部
顶部