开发者社区> 问答> 正文

Dockerfile 执行 ADD 命令时,maven还没有编译出 target?400报错

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

展开
收起
爱吃鱼的程序员 2020-06-05 14:57:29 982 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        命令执行的顺序
                    
    
                            嗯,我明白这个道理,就是现在需要手动打包
                        
    
                        <p>你的这个jar包不应该先打包好,再去执行docker build 的命令吗?<br> 你需要确保在编译docker镜像的时候,先编译java项目。</p> 
    

     

                            回复 <a class="referer" target="_blank">@dogo_小小人物</a>  : 我试过这个方法,结果还是不支持,而且每次打包都要安装maven环境,我中间使用阿里云云效加了一层maven编译就好了
                        
    
                            回复 <a class="referer" target="_blank">@小象鸭</a>  : 你可以将源代码add到dockerfile 里面,在里面安装 mvn 命令,然后使用run 命令调用mvn来编译jar包
                        
    
                            嗯,我明白这个道理和顺序,先打jar,再构建镜像。就是现在需要手动把包打好,我想让它自动打jar包编译构建,但Dockerfile中也不支持 mvn 命令
                        
    
                        <p>666</p>
                    
    
                        <p>试试谷歌的jib-maven-plugin</p>
                    
    
                        <p>反正我是不在编译器里搞这些,这些东西直接传到git上,然后jenkins执行shell脚本,编译打包完成后,再构建镜像。</p>
                    
    
                            是啊,我之前也是这样弄,现在不用Jenkins了,就得想办法搞定这个
    
    2020-06-05 14:57:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Build Your Next ApacheSparkJob 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载