当前位置: 首页 > news >正文

jarjar-maven-plugin打包

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在看spring打包的时候,讲到了用jarjar,或者叫对其他的依赖重打包,可以解决麻烦的包冲突,换句话说是解决的问题就是可以把依赖的包打进自己的项目里(可改变package),或者你的项目依赖于一个特定版本的库,但是又有可能和其他的包依赖冲突。

网上的资料发现并不是很多,算是官方的http://sonatype.github.io/jarjar-maven-plugin/,但是里面的料并不是很多

我现在pom中加入两个依赖

005724_gZwP_2277632.png

然后在类中加入,包中的方法

005813_r3X0_2277632.png

然后再pom中加入build配置

 <plugins>

      <plugin>

        <groupId>org.sonatype.plugins</groupId>

        <artifactId>jarjar-maven-plugin</artifactId>

        <version>1.9</version>

        <executions>

          <execution>

            <phase>package</phase>

            <goals>

              <goal>jarjar</goal>

            </goals>

            <configuration>

              <includes>

                <include>asm:asm</include>

                <include>org.sonatype.sisu.inject:cglib</include>

              </includes>

              <rules>

                <rule>

                  <pattern>org.objectweb.asm.**</pattern>

                  <result>com.helloxin2.asm.@1</result>

                </rule>

                <rule>

                  <pattern>net.sf.cglib.**</pattern>

                  <result>com.helloxin2.cglib.@1</result>

                </rule>

              </rules>

            </configuration>

          </execution>

        </executions>

      </plugin>

    </plugins>

然后我们先打个包看看

005105_C7y3_2277632.png

然后来看看打包的结果

005208_e46j_2277632.png

对于刚刚那个文件反编译的结果是,如你所见,成功的替换了里面的包名称 com.helloxin2.asm,神奇

010235_wt3N_2277632.png

其中build中参数的配置

010330_3Re9_2277632.png

转载于:https://my.oschina.net/u/2277632/blog/1542074

相关文章:

  • Vim 删除不包含指定字符串的行及统计匹配个数
  • JVM指令助记符
  • FTP与TFTP
  • Android通过Gradle发布开源项目到binary/Jcenter
  • 针对通过 SSH 连接到 Azure Linux VM 时发生的失败、错误或被拒绝问题进行故障排除...
  • bootstrap-table使用总结
  • Tensorflow CNN入门
  • charles抓包并分析问题
  • Veeam任命新的中国区总经理 坚信可用性领域大有可为
  • spring常用注解
  • 学习笔记之Python 3 教程
  • iOS APP原生一维码、二维码扫描使用介绍
  • 新的博客
  • tcp/ip 简介
  • TP框架中多条件筛选
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Angular 响应式表单 基础例子
  • eclipse(luna)创建web工程
  • iOS 系统授权开发
  • JavaScript DOM 10 - 滚动
  • JavaWeb(学习笔记二)
  • linux学习笔记
  • react-native 安卓真机环境搭建
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 产品三维模型在线预览
  • 回流、重绘及其优化
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 那些年我们用过的显示性能指标
  • 山寨一个 Promise
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 温故知新之javascript面向对象
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • 通过调用文摘列表API获取文摘
  • #pragma once与条件编译
  • #QT(TCP网络编程-服务端)
  • #微信小程序(布局、渲染层基础知识)
  • (1)(1.13) SiK无线电高级配置(六)
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (六)c52学习之旅-独立按键
  • (十六)串口UART
  • (算法)求1到1亿间的质数或素数
  • (转)EOS中账户、钱包和密钥的关系
  • (转)程序员技术练级攻略
  • (转载)利用webkit抓取动态网页和链接
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET Framework .NET Core与 .NET 的区别
  • .Net6使用WebSocket与前端进行通信
  • .NET的微型Web框架 Nancy
  • .php文件都打不开,打不开php文件怎么办
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • [Hive] CTE 通用表达式 WITH关键字