经常遇到这样的问题,需要修改jar包中的方法。应该如何做?

  1、有些很人性化的框架jar包,比如SpringSecurity,可以修改配置文件指定一个新建的类,让类实现Jar包中的对应的接口就好了。

  2、大部分的jar包都不会有这么方便的功能的。有一个简单的办法就是,在项目中建一相同路径相同名称的文件,当项目启动的时候,会优先使用本地编写的类,覆盖掉jar包中的内容。也可以是xml文件,properties属性文件。

  3、还有一部份就算这样,在项目启动以后还是会调用jar包中的方法,我在使用gradle进行开发的时候就是这样。这里就只能使用最直接的方法了,直接修改jar包中的方法,替换原有的jar包。这个是可以实现,只是有点麻烦,不写了。

  4、第3中方法的缺陷就是如果Jar包不能在部署以后改动,就不能用了,比如maven项目下的jar包。此时还有一个终极办法,如果你是使用tomcat进行部署的话,可以使用。

  tomcat默认有conf、lib、webapps这三个目录,其中conf是放tomcat的配置文件,lib是放tomcat的jar包的,webapps中一般放的是我们项目的代码。tomcat进行加载的时候,会优先调用conf和lib目录下的文件。所以可以把要替换的xml文件放在conf目录下,需要替换的jar包放在lib目录下(需要提前将jar包中的对应方法进行修改)。这样项目中可以下载jar包,部署后也不会出错。大功告成!

  原创文章,欢迎转载,转载请注明出处!

转载于:https://www.cnblogs.com/acm-bingzi/p/webModifyJar.html

Web项目替换jar包中的文件的方法相关推荐

  1. 使用jar命令替换jar包中指定文件

    一.jar命令用法 -c 创建新的归档文件-t 列出归档目录和文件-x 解压缩已归档的指定(或所有)文件-u 更新现有的归档文件-v 在标准输出中生成详细输出 / 提供更详细输出信息-f 指定归档文件 ...

  2. 总结替换jar包中指定文件的步骤

    一: 1定位路径:cd /bestpayserver/project/paycenter-bank 2列出指定文件路径:jar tvf paycenter-bank.jar|grep BocB2bNe ...

  3. linux替换jar包目录,Linux下用jar命令替换war包中的文件【转】

    问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...

  4. linux替换jar的文件,Linux下用jar命令替换war包中的文件【转】

    问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...

  5. 快速替换jar包中.class、.html、.yml格式的文件

    快速替换jar包中.class..html..yml格式的文件 文章目录 快速替换jar包中.class..html..yml格式的文件 背景 下载反编译软件JD-GUI 使用 jd-gui 打开we ...

  6. 使用jar命令替换jar包中的jar文件

    替换jar包中的jar文件(一般jar不会压缩使用-0表示不压缩) 1. 根据文件名,查询出文件目录 jar -tvf xxxx.jar | grep jdbc.jar 2. 将需要修改的文件,解压出 ...

  7. 「问题解决」java web项目打成jar包运行后工具类无法读取模板文件的解决方法

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

  8. maven 如何给web项目添加jar包依赖

    maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--> ...

  9. java获取jar包中的文件资源

    java获取jar包中的文件资源 一.问题示例 1.1 项目开发时 1.2 打包成jar后 二.解决方案 2.1 解决方法 2.2 实现 问题描述:   我们常常在代码中读取一些资源文件(比如图片,音 ...

最新文章

  1. 【神经网络】(14) MnasNet 代码复现,网络解析,附Tensorflow完整代码
  2. 参加拥抱HTML5大会及TOPGEEK社区活动纪实
  3. 防止ASP.NET按钮多次提交代码
  4. 用INFORMATION_SCHEMA逻辑MySQL的索引
  5. SpringBoot 2.x 整合Lombok
  6. 【渝粤题库】陕西师范大学100141大学英语(三)作业 (专升本、高起本)
  7. 森马电商软件测试,字节跳动抖音(电商)方向实习生一二面
  8. 《树莓派实战秘籍》——1.14 技巧14初学GPIO
  9. 大数据_MapperReduce_从CSV文件中读取数据到Hbase_测试---Hbase工作笔记0022
  10. anaconda安装python包_Anaconda:安装或更新 Python 第三方包
  11. arcgisserver修改服务器地址,ArcGIS 10.1 for Server入门(7-6)ArcGIS for Server 10.1 服务迁移与恢复--多台服务器...
  12. paip.java 开发中web server的选择jboss resin tomcat比较..
  13. lua-TestMore(转)
  14. 华为三层交换机-路由-硬件防火墙的配置
  15. matlab绘制二元一次函数图像_二元一次函数曲线拟合的Matlab实现.pdf
  16. 数据洞察医药电商,解析医药电商行业现状及发展趋势
  17. 费曼:我确信没有人能懂得量子力学
  18. 2012年8月编程语言排行榜
  19. ultravnc中文版,不能错过的5款ultravnc中文版
  20. 程序员接私活的6个网站,你有技术就有钱!

热门文章

  1. 投票抵制华为鸿蒙系统,网友投票华为十大技术:鸿蒙OS仅排第二!
  2. linux message日志只有4k,linux命令查看日志
  3. mysql查询选课最少成绩最高_MySQL 练习
  4. linux 商业游戏,Ubuntu下安装试玩原生Linux版商业游戏Braid
  5. java 监听器 分类_java过滤器和监听器详解 分类: 学习专区
  6. leetcode 190. 颠倒二进制位
  7. 并查集入门三连:HDU1213 POJ1611 POJ2236
  8. C++:15---异常机制
  9. 机器学习知识总结系列-机器学习中的数学-矩阵(1-3-2)
  10. PCB布局,布线技巧总结