今天研究 Java 打包的时候,不含依赖 jar,以便于减少 jar 大小,碰到一个问题,打包什么的都没碰见问题,但是在文件上传的时候,解压依赖包出现了问题
我本地电脑使用的是 7z 压缩工具,所以直接将依赖打包压缩,成了 lib.7z
上传到服务器后解压过程出现了问题
首先是服务器用的 centos 系统,本身并没有安装解压 7z 的工具,所以得安装一个 7z 工具。
使用命令
yum install p7zip -y
运行之后报错了
File contains no section headers
此时意识到是 yum 出现了问题(不知道是哪位亲爱的小伙伴搞的,把 yum 源搞没了)
随后开始配置 yum 源,我选择了简单粗暴的解决方法,直接将配置文件删了,重新下载一个
rm -f /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
clean 一下
yum clean all
所有的都搞完了之后 ,在运行
yum install p7zip -y
出现了下面的问题
没有可用软件包 xxxx。
错误:无须任何处理
这个就是没有软件包,二话不说直接更新 epel 第三方软件库
但是尴尬的是,第三方的软件库说是最新的,那这就奇了怪了,后来没办法,使用笨办法,运行了一个需要等很长时间的语句
yum update
等了很久
欢天喜地的再次执行
yum install p7zip -y
还是不行,还是同样的错,会不会是我更新了 yum 但是没有更新 epel 第三方软件库
再次执行
yum install -y epel-release
提示是最新的
到此算是完全没啥办法了
但是,人呐就是要有怀疑精神,我的小伙伴能把 yum 给搞废了,有没有可能本身的那个 epel 第三方库本身就有问题。
于是,首先先把 epel 给卸载了,再把目录给清空了
卸载:yum remove epel-release
清空目录:rm -rf /var/cache/yum/x86_64/6/epel/
安装:yum install epel-release
然后再安装 7z
成功了,不容易啊,走了多少弯路啊!就为了上传个压缩包。
这篇文章涉及到的问题点有点多,所以记录下。