maven-shade-plugin~打包时过滤项目中某些包

maven-shade-plugin可以用来进行打包,并实现在打包过程中的一些过滤、排除、包含、重命名等一系列操作,当我们设计公用项目时,有时在项目时会有一些测试用例,如果在打包时想把这些测试包排除,使用maven-shade-plugin插件是个不错的选择。

打包包含和排除

下面的代码实现了以下几个功能:

  • 打包时排除com.lind.uaa.jwt.three包下的所有内容
  • 打包时排除项目的properties类型的配置文件
  • 打包时,com.baomidou组织的包添加到当然JAR包里,默认是不会添加到当前包的
  • createSourcesJar选项实现了打包时为源代码再打一个包
 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <!-- 过滤器排除配置文件-->
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>**/*.properties</exclude>
                                        <exclude>com/lind/uaa/jwt/three/**</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <artifactSet>
                                <!-- 捆绑包含,目标项目不需要再手动引用这个包了 -->
                                <includes>
                                    <include>com.baomidou:*</include>
                                </includes>
     
                            </artifactSet>
                            <createSourcesJar>true</createSourcesJar>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
posted @   张占岭  阅读(4545)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2018-12-13 transient和synchronized的使用
2017-12-13 数据库~大叔通过脚本生成poco实体
2016-12-13 MongoDB学习笔记~数据模型属性为集合时应该为它初始化
2013-12-13 DDD~领域服务的规约模式
2013-12-13 我也来说说DDD~大话目录
2012-12-13 爱上MVC3系列~PartialView()与View()真的一样吗?
2012-12-13 爱上MVC3系列~手动向路由表扔数据,不影响当前URL路由配对
点击右上角即可分享
微信分享提示