外来jar包运行项目,更换部分文件重新压缩成jar包部署运行

news2024/11/25 2:53:51

        跟公司一个外部支援同事合作开发,发包版本在他那里,功能开发工作我来做,可能是因为我是后来加入的,他不想把代码交到公司来,每次要发布新版本急于测试,联系他发包一直不回复消息,打电话也不接,等他开发他总也跟不上发布节奏,然后领导就让我自己打包~~~

        问题来了:他给我的代码版本比他打包发布的落后很多,功能无法支持原版本。怎么办呢?

一、就用我手上的代码版本发包测试,遇到问题挨个改,测试周期也会很长(暂不实施)。

二、用他发布的最后一个版本包,替换掉部分文件,重新打包部署(自我感觉此方法最靠谱):

1、从服务器(windows环境)上下载部署包:

Xshell登录服务器,进入部署包所在路径:

#sz   xx.jar       ---xx.jar是部署包的包名

将目标压缩包保存至指定路径。

2、用winRAR解压成A目录;

3、用本地代码编译出新的jar包并解压成B目录;

4、将修改过的类编译后的文件在B目录中找到,并在A目录中替换;

5、在A目录中,打开命令窗口,用命令重新压缩成jar,压缩命令:

jar cvf0M xyz.jar .

注意:命令最后的点‘.’要保留!!!!!

将重新压缩后的jar包拖拽至服务器指定路径,直接运行,OK,好使!!!

遇到的问题:

1、从服务器下载下来的jar解压后内部引用的还有项目模块jar,需要同样的解压-替换-重新打包;

2、通过winRAR添加至压缩包

 按照网上说的此种方法尝试后,打的jar包部署运行报错:Exception in thread "main" java.lang.IllegalStateException: Failed to get nested archive for entry BOOT-INF/lib/XXXX.jar

经查,说是将内部引用jar再次打包的原因导致的,几经周折找到以上可部署运行方案。

3、可部署运行方案在执行压缩命令时提示:‘无法将“jar”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写’

-然后继续百度,验证自己的环境变量:java 可行,javac  不可行,经查是自己的环境变量没有配置‘java_home’,配置全了环境变量再次执行压缩打包命令就可以用了,虽然没有完全解决问题还有点小麻烦,至少让自己可以不再依靠别人来发版本了~~~~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/865641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试易考:多线程模式下的单例模式两种具体实现(饿汉,懒汉),两个的线程安全性,阻塞队列,生产者消费者模型

补充:synchron(锁对象):给对象里面做了一个标记,每个对象,除了代码中写的属性外,此外还有一部分空间,存储的是标志位,这个标志位相当于是加锁,当这一位被标记加锁之后&am…

项目实战 — 消息队列(7){虚拟主机设计(2)}

目录 一、消费消息的规则 二、消费消息的具体实现方法 🍅 1、编写消费者类(ConsumerEnv) 🍅 2、编写Consumer函数式接口(回调函数) 🍅 3、编写ConsumeerManager类 🎄定义成员变…

Linux系统下安装配置 Nginx 超详细图文教程

Linux系统下安装配置 Nginx 详细教程介绍 一、下载 Nginx 安装包 打开Nginx官网 :http://nginx.org/en/download.html 然后我们找到一个版本,把鼠标移动到上面,右键 - 复制链接地址 我们使用 wget 命令把Nginx安装包下载到/usr/local/目录中…

微信小程序实现当前页面更新上一个页面

日常项目中需要实现的一个价格脱敏功能:通过点击页面二中的查看完整信息 点击回退按钮实现页面一中的价格显露出来 通过查询了大量资料发现 大多数都是通过调用上一个接口的onload 或者onshow 实现视图更新 经测试后 发现 无法实现 只能更改数据 无法更新视图 实现…

shell脚本条件测试语句,if,case

shell脚本条件测试语句,if,case 一.条件测试1.1test命令1.2文件测试1.2.1文件测试常见选项 1.3数值比较1.4字符串比较1.5逻辑测试 二.if语句2.1单分支结构2.3多分支 三.case语句 一.条件测试 1.1test命令 测试特定的表达式是否成立,当条件成…

InVEST模型使用

第一天: 1. 生态系统服务理论联系实践案例讲解 2. InVEST模型的开发历程、不同版本的差异及对数据需求的讲解 3. InVEST所需数据的要求(分辨率、格式、投影系统等)、获取及标准化预处理讲解 4. InVEST运行常见问题及处理解决方法讲解 5.…

【C++】数据结构与算法:常用查找算法

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用查找算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

【果树农药喷洒机器人】Part6:静态PWM变量喷药实验

文章目录 一、引言二、静态PWM变量喷药实验2.1搭建喷药实验平台2.2变量喷药控制实验 一、引言 为综合评估所设计的果树喷药机器人变量喷药效率和质量,验证系统的控制性能和实际作业的可行性,本章开展果树变量喷药实验。首先,通过静态的PWM变…

Mongodb 分页查询数据重复

(学习的本质,不在于记住哪些知识,而在于它触发了你的思考——迈克尔桑德尔) mongodb排序的限制 相关链接 最多对32个键进行排序排序一致性 其中排序一致性指的是,如果被排序的字段值是重复的,那么在进行…

不同路径数

希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注~ 不清楚蓝桥杯考什么的点点下方👇 考点秘籍 想背纯享模版的伙伴们点点下方👇 蓝桥杯省一你一定不能错过的模板大全(第一期) 蓝桥杯省一你一定不能错过的模板大全…

C指针:程序员的神奇箭头,穿越内存的冒险之旅!

目录 🕵️‍♂️ 引言:指针,那些指向星星的小箭头! 一、🎯 探索箭头:指针的基础知识 1.1 指针是什么? 1.2 解引用操作符:* 是关键 1.3 指针的比较和运算 1.4 空指针&#xff1a…

Gopeed-全平台开源高速下载器 支持(HTTP、BitTorrent、Magnet)协议

一、软件介绍 Gopeed(全称 Go Speed),是一款由GolangFlutter开发的高速下载器,开源、轻量、原生,支持(HTTP、BitTorrent、Magnet 等)协议下载,并且支持全平台使用,底层使…

淘宝商品详情接口(商品列表,APP详情接口)返回示例说明,PC端和APP端

淘宝商品详情包括以下信息: 1. 商品标题:商品的名称或标题,用于描述商品的特点和功能。 2. 商品价格:商品的销售价格,包括原价和促销价等。 3. 商品图片:展示商品的照片或图像,以便顾客可以更…

Pinia的使用,只需四步轻松上手

Pinia与vuex相比,少了mutation和命名空间,支持ts。更适配vue3. 基本使用: 1.创建一个store文件夹,引用createPinia()方法并暴露出去(图一) 2.main.ts下引用createPinia并注册use一下(图2&#x…

SpringBoot启动报错:java: 无法访问org.springframework.boot.SpringApplication

报错原因:jdk 1.8版本与SpringBoot 3.1.2版本不匹配 解决方案:将SpringBoot版本降到2系列版本(例如2.5.4)。如下图: 修改版本后切记刷新Meavn依赖 然后重新启动即可成功。如下图:

【Matlab】PSO优化(单隐层)BP神经网络

上一篇博客介绍了BP-GA:BP神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值,本篇博客将介绍用PSO(粒子群优化算法)优化BP神经网络。 1.优化思路 BP神经网络的隐藏节点通常由重复的前向传递和反向传播的方式来决定&#…

00 - 环境配置

1. 环境说明 使用git gitee 2. 安装配置 ubuntuVM-8-3-ubuntu:~/wuxiang/git$ git --version git version 2.25.1 ubuntuVM-8-3-ubuntu:~/wuxiang/git$2.1 配置user信息 ubuntuVM-8-3-ubuntu:~/wuxiang/git$ git config --global user.name wuxxxxx ubuntuVM-8-3-ubuntu:~…

【遍历】非递归法 二叉树的前中后序遍历

文章目录 非递归法前序遍历后序遍历中序遍历 递归法DFS 非递归法 通过栈Stack来模拟递归。 前序遍历 LeetCode 144 前序遍历:1 2 3 定义:存放答案的List、栈Stack 将root入栈出栈:node,为null则舍弃将node放入list将node.r…

【Spring】-Spring项目的创建

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:创建spring项目的步骤:先创建一个maven项目,再在pom.xml中添加spring框架支持,最后写一个启动类。 文章目…

程序猿成长之路之密码学篇-分组密码加密模式及IV(偏移量)的详解

Cipher.getInstance("AES/ECB/PKCS5Padding"); Cipher cipher Cipher.getInstance("AES/CBC/PKCS5Padding"); 在进行加解密编程的时候应该有很多小伙伴接触过以上的语句,但是大伙儿在编码过程中是否了解过ECB/CBC的含义、区别以及PKCS5Padding…