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里不要引用過類的包,應該在業務項目里引用這些包,否則會有包找不到情況

再進行編譯,問題解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM