docker容器中运行jar 出现invalid or corrupt jarfile

编程入门 行业动态 更新时间:2024-10-26 22:27:29

docker<a href=https://www.elefans.com/category/jswz/34/1771431.html style=容器中运行jar 出现invalid or corrupt jarfile"/>

docker容器中运行jar 出现invalid or corrupt jarfile

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一下

更多推荐

docker容器中运行jar 出现invalid or corrupt jarfile

本文发布于:2023-11-15 22:17:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1607260.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:容器   jar   docker   jarfile   corrupt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!