解決 SpringBoot 不繼承父starter-parent打包不包含依賴的問題
阿新 • • 發佈:2018-12-11
由於專案需要繼承自己平臺的父 parent , 有的模組是純 api ,不能有任何依賴, 所以父 parent 不能直接引入 springboot, 單獨給非 boot 專案排除依賴的話又特別的麻煩, 且不好把控。
記得剛接觸 SpringBoot 時看的官方文件裡面有給方案。開啟官網找了找。
官方文件:using-boot-maven-without-a-parent
官方讓新增如下依賴管理
<dependencyManagement> <dependencies> <dependency> <!-- Import dependency management from Spring Boot --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.6.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
更換父 parent 加入依賴管理後, 可以正常執行, 但是打出的包是不包含依賴的。
也就是說, 我們不能直接使用 jar -jar demo.jar
的方式啟動專案。
經過搜尋, 找到了如下解決方案
原連結
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.junbaor.test.App</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
新增後再次打包, 一切正常。