springboot~mvn多个关联项目打包问题

使用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里不要引用过类的包,应该在业务项目里引用这些包,否则会有包找不到情况

再进行编译,问题解决!

posted @   张占岭  阅读(1144)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2015-04-01 cmd命令查看端口和进程信息
点击右上角即可分享
微信分享提示