使用maven进行构建项目时,有时会把公共对象和方法抽象在一个common公用项目里,而其它项目直接依赖它即可,而在common项目配置需要注意一下,因为springboot生成的jar默认是可执行的jar包,所以在其它子项目编译时,会因为引用common失败而导致当前项目不能成功编译,而只能去根项目进行mvn
install来可以,这事实上很麻烦,所以今天主要解决一下这个问题。

编译出现的错误
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on
project projectA: Compilation failure
解决方案

如果你的common里的main入口方法时

在common项目的pom.xml里添加如下配置 
<plugins> <plugin> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution>
<goals> <goal>repackage</goal><!--供其它项目依赖的,不可执行的Jar包中 --> </goals> </execution>
</executions> </plugin> </plugins>
如果你的common里没有main方法,只是一些类库时
可以把plugin删除掉,然后在common里不要引用过类的包,应该在业务项目里引用这些包,否则会有包找不到情况
再进行编译,问题解决!