顺德品牌网站建设优惠,做网站和做免费推广网站的区别,做水果的有什么网站,wordpress 右侧边栏1#xff0c;背景#xff1a;
在本地java开发完毕之后#xff0c;想要打包成docker镜像#xff0c;方便安装。由于本地没有docker环境#xff0c;也懒得装了。有一台测试的linux机器可以使用#xff0c;所以先在本地打包生成xxx.jar#xff0c;然后拷贝到有docker环境的…
1背景
在本地java开发完毕之后想要打包成docker镜像方便安装。由于本地没有docker环境也懒得装了。有一台测试的linux机器可以使用所以先在本地打包生成xxx.jar然后拷贝到有docker环境的linux机器上生成docker镜像以及使用镜像做成docker容器。 启动之后发现报错
invalid or corrupt jarfile 2思路
从报错信息来看容器里面已经有了jar包但是这个jar包不能执行被破坏掉了。 这边jar的传递有两步第一是win10系统到Linux系统第二是Linux本地拷贝到Docker容器。 1确认本地的jar是否正常发现本地启动之后可以正常跑-那么win10本地的jar是正常的 2第二步的拷贝使用dockerfile拷贝正常情况下要么命令错误没有拷贝到容器的镜像里面-确认了一下容器里面是有jar的那么这个拷贝大概率没有问题。 3考虑linux里面的xxx.jar已经有问题了。那么大概率是从本地win10系统到Linux的拷贝出问题。
3原因 在失败之前有传输jar生成docker成功过。突然报错有点奇怪。 后来我想起来文件winscp进行文件传输的时候传输方式有多种之前是默认的Default()。中间传输别的文件的时候把这个改成了file文件使用file方式传输jar尝试将这边的传输方式改成default就能够正常跑了。 至于为什么会有这样的问题暂时还不是特别清楚猜测是linux系统和win10系统的换行导致有知道的童鞋欢迎解释一下。 图片来源winscp图片
mark一下