简介:Maven Shade Plugin是Maven的一个插件,主要用于解决大型项目中的依赖冲突和类冲突问题。它可以将所有依赖项打包到一个JAR文件中,创建一个“fat” JAR(也称为“uber” JAR),使得应用程序可以作为一个独立的可执行JAR运行。此外,它还可以重命名、移除或合并类来解决类冲突,减少JAR包数量,并将项目中的资源文件...
这个plugin的作用是把项目打包并且包括它的依赖项,并且将依赖的名称模糊化(我所理解的模糊化就是依赖的jar你解压shade方式打好的jar的时候不能直观的看到) shade的plugin绑定到了package阶段 maven的shade模式打包(参考官网地址如下) http://maven.apache.org/plugins/maven-shade-plugin/usage.html 2、lib和工程分离...
1、在pom.xml文件中添加maven-shade-plugin插件 全部文件: <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> 1.6 <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifact...
打包时排除项目的properties类型的配置文件 打包时,com.baomidou组织的包添加到当然JAR包里,默认是不会添加到当前包的 createSourcesJar选项实现了打包时为源代码再打一个包 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3...
通过maven-shade-plugin 生成一个 uber-jar,它包含所有的依赖 jar 包。 2. Goals 3. Usage 配置maven-shade-plugin maven-shade-plugin 将 goal shade:shade 绑定到 phase package 上。 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
maven-shade-plugin可以用来进行打包,并实现在打包过程中的一些过滤、排除、包含、重命名等一系列操作,当我们设计公用项目时,有时在项目时会有一些测试用例,如果在打包时想把这些测试包排除,使用maven-shade-plugin插件是个不错的选择。 打包包含和排除 下面的代码实现了以下几个功能: ...
maven-shade-plugin插件有个配置属性:createDependencyReducedPom,默认值为true. 当这个属性为true的时候,如果我们使用maven-shade-plugin来打包项目,那么便会在项目根目录下生成一个dependency-reduced-pom.xml文件,这个被删减的pom文件会移除已经打包进jar包中的依赖。
</plugin> </plugins> </build> 要求b-shade使用maven-shade-plugin打包,同时打包的时候规定将com.google.common包名改为zhaohui.com.google.common。 然后在c的pom文件中删除b的依赖,改为依赖b-shade.然后在根目录执行mvn package。 最后,在c的target目录中执行java -jar package-test-c-1.0-SNAPSHOT.jar,输...
打包是一个比较头疼的事情,默认maven打包的结果只包含项目本身的代码,如果要执行代码,还得带上依赖。maven-shade-plugin插件就能够帮我们把项目依赖的包也打进最终文件。 shade打包过程 shade插件绑定在maven的package阶段,他会将项目依赖的jar包解压并融合到项目自身编译文件中。
maven-shade-plugin编译插件 打包package的时候警告:Discovered module-info.class. Shading will break its strong encapsulation. 问题原因:maven-shade-plugin缺少配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" ...