记一次项目部署后缺少一个文件(替换文件)的解决思路


1.原本想的是进入容器后,找到 springboot 项目的 war 包执行是释放到的临时目录,把缺少的文件添加进去,结果在网上查了一下只有关于运行时操作产生的临时文件的目录,并没找到解包的目录。

2.然后就想到了像解压压缩包一样解压 war 包再重新打包的方法,下面的用到的命令,详细过程就不列举了。

# 方法一 将war包解压到当前文件夹
jar -xvf app.war -C ./unapp/
#将当前文件夹下所有内容打成war包
jar -cvfM0 app.war ./unapp/
# 其中:
# x 解包
# c 打包
# v 显示过程信息
# 0 这个是阿拉伯数字,只打包不压缩的意思

# 方法二 以下为替换文件的思路
# 1. 先用jar -tvf {war | jar} 看一下文件中 要替换文件的路径
# 2. 用jar -xvf {war | jar} {dest} 解压出要替换的文件,包括文件所在的目录路径
# 3. 再将新文件替换解压之后的目录结构中的文件
# 4. 最后 jar -uvf  {war | jar}  {dest}

# 方法三 还可以使用 unzip解压 和zip 进行打包

解包后我这里是使用的 wget 把缺少的文件下载到容器中的,如果大家不嫌麻烦当然也可以先 scp 到宿主机在 copy 到容器中,方法很多种,大家方便高兴为妙。

打包后重启容器就 ok 了。


文章作者: 慕书
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 慕书 !
评论
  目录