maven 引用其他项目引用的包的子模块出现BOOT-INF问题
在B项目中引入A项目的类,但是发现怎么也引入不进来
再来看看依赖进来的jar,发现被依赖进来A项目的包下面多了一个BOOT-INF目录,
再去A项目里面找原因,发现在A项目的pom.xml文件中有一个maven的打包插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
在A项目中,把这个插件注释掉再重新打包,在B项目中刷新它的依赖。再来看看B项目中依赖的A项目的jar包,发现BOOT-INF目录没了,而且A项目中的类也可以被导入进来了。问题解决了,发了我2个小时才找到原因。
在idea中创建spring-boot项目,这个插件是会被自动加上的,所以当你的项目要被其它项目依赖时,要记得把该插件删除掉。spring-boot-maven-plugin该插件会把项目打包为可执行的jar或war文件。