美文网首页
jarjar.jar 通过改包名来让新老版本jar包共存方案

jarjar.jar 通过改包名来让新老版本jar包共存方案

作者: youposa | 来源:发表于2020-03-11 23:11 被阅读0次

jarjar

介绍

有些项目还是那种很古老的开发方式,通过拷贝jar包的方式来运作,这种项目中大量代码依赖低版本的jar,而需要添加新版本jar 并且版本冲突的时候,可以用该jarjar来修改新版本的包名,使新老版本可以共存,互不影响。

安装教程

项目地址》https://gitee.com/booloose/jarjar 

该项目是克隆来的,这里补充做个介绍,感谢作者分享。

切换到该项目根目录下 ,通过maven命令 mvn clean package 直接打包 生成jarjar.jar,在target目录下。

使用说明

更换包名命令: java -jar jarjar.jar process

参数:

rulesFile 通过配置该文件来指定替换规则

inJar 替换的jar

outJar 输出的jar

rulesFile有三種指令,分別如下:

      1. rule用來取代Package的名称。            rule pattern result 这里主要用这个方式      2.zap用來移除符合名称的Package。          zap pattern      3.keep只会保留符合的Package的名称,其他的則會刪除。如果和zap一起使用,將會在zap执行完之后才執行。              keep pattern      备注: pattern為要比對的字串,可以使用「*」和「**」來表示任意的Package名稱。「*」可以代表一层的Package,「**」可以代表多层的Package。      result為要取代成的字串,可以使用「@1」、「@2」这类的符号表示要使用第几个pattern的「*」或「**」所代表的字串

举个例子:

场景如下 项目中已经有poi低版本3.7,但是想用SXSSFWorkbook导出大数据需要4.0版本,老版本依赖很多不能删。解决思路:把新版本4.0种的jar文件改个名字![输入图片说明](https://images.gitee.com/uploads/images/2020/0311/230019_6a3a4c69_5160858.png "屏幕截图.png")创建rulesFile 文件放到 jarjar.jar 相同的目录rulesFile文件内容如下:    rule org.apache.poi.** org.apache.poi4.@1命令行执行如下三条命令:java -jar jarjar.jar process rulesFile.txt poi-4.0.1.jar newpoi-4.0.1.jarjava -jar jarjar.jar process rulesFile.txt poi-ooxml-4.0.1.jar newpoi-ooxml-4.0.1.jarjava -jar jarjar.jar process rulesFile.txt poi-ooxml-schemas-4.0.1.jar newpoi-ooxml-schemas-4.0.1.jar文件夹下生成了3个jar包,拷贝到工程下引用即可。

希望能帮到你。

相关文章

  • jarjar.jar 通过改包名来让新老版本jar包共存方案

    jarjar 介绍 有些项目还是那种很古老的开发方式,通过拷贝jar包的方式来运作,这种项目中大量代码依赖低版本的...

  • Android jar包更改包名

    下面介绍如何修改jar文件的包名,需要用到一个小工具,叫做 jarjar.jar 下载地址:http://code...

  • myeclipse_导入/导出jar包

    导入 一 。通过Maven导入jar包 搜索jar包的Maven Repository搜索2.选择版本image....

  • jar包操作shell

    #!/bin/bash #jar包名 JAR_NAME=xxxxx.jar #jar包路径 默认jar包路径和sh...

  • maven-ssm整合

    创建根目录 配置pom中的jar包依赖,即SSM框架依赖的jar包 通过properties属性配置版本号的引用关...

  • sqoop mysql 导入hive CDH

    mysql 驱动jar包 使用版本 CDH sqoop lib 包路径,sqoop 需要找到jar 包联接mysq...

  • maven打包

    pom包和jar包war包的区别 pom工程:用在父级工程或聚合工程中,用来做jar包的版本控制。jar工程:将会...

  • apt-get包依赖的解决

    在ubuntu中安装一些包的时候会出现次版本上的冲突,可以通过单独安装该包来解决。例如 可以通过等号指定包名命令来...

  • 1.学习Java心得

    1.MySQL驱动jar包,需要与MySQL版本对应,不同版本jar会报错。 2.IDEA导入jar包,需要添加到...

  • 备课_2.2_jmeter连接MySQL/Oracle数据库

    下载jdbc驱动jar包 注意jar包对应mysql/oracle版本jdbc :https://dev.mysq...

网友评论

      本文标题:jarjar.jar 通过改包名来让新老版本jar包共存方案

      本文链接:https://www.haomeiwen.com/subject/cvpkjhtx.html