之前写过shade解决mybatis包冲突的文章,主要讲了如何为一个第三方包去打一个shade包,然后它可以解决相同包的不同版本之间的冲突问题;而今天主要说一下在项目里如何引用这个包。
1 如果只是使用包里的资源,而不使用这个包的依赖包,需要这样引用即可
<dependency> <groupId>com.lind</groupId> <artifactId>a-start-test-depend-shade</artifactId> <version>1.0.4</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/a-start-test-depend-shade-1.0.4.jar</systemPath> </dependency>
2 如果在引用包里,还需要使用它的依赖包,需要把system去掉
<dependency> <groupId>com.lind</groupId> <artifactId>a-start-test-depend-shade</artifactId> <version>1.0.4</version> <systemPath>${project.basedir}/src/main/resources/a-start-test-depend-shade-1.0.4.jar</systemPath> </dependency>
3 注意:如果你的shade项目和你的当前项目在一起的话,可能能有问题
你可以把shade项目打完jar包之后,移除module,然后再试一下,就可以看到你的jar包里的对象被shade了
4 pom配置文件里的scope是作用域的意思,下面介绍一下几种scope
总结