Spring Boot 不使用默認的 parent,改用自己的項目的 parent

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

在初學spring boot時,官方示例中,都是讓我們繼承一個spring的?spring-boot-starter-parent?這個parent:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.1.RELEASE</version>
</parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

但是,一般情況下,在我們自己的項目中,會定義一下自己的 parent 項目,這種情況下,上面的這種做法就行不通了。那么,該如何來做呢?其實,在spring的官網也給出了變通的方法的:

在我們自己 parent 項目中,加下下面的聲明

?

<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.1.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

請注意,它的?type?是?pomscope?是?import,這種類型的?dependency?只能在?dependencyManagement?標簽中聲明。

?

?

?

然后,把我們項目中的 子項目 中,parent 的聲明,修改為我們自己項目的 parent 項目就可以了,比如,我的是:

 <parent><groupId>org.test</groupId><artifactId>spring</artifactId><version>0.1-SNAPSHOT</version></parent>

?

有一點,需要注意一下。?
在 子項目 的?dependencies?中,不需要(也不能)再次添加對?spring-boot-dependencies?的聲明了,否則 子項目 將無法編譯通過。?

?

即,在 子項目 中,下面的配置是多余的:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId>
</dependency>

為什么會這個樣子呢??
因為?spring-boot-dependencies?根本就沒有對應的jar包,它只是一個?pom?配置,可以去?maven倉庫?看一下。?
它里面定義了?非常多?的依賴聲明。

所以,有了它之后,我們在 子項目 中使用到的相關依賴,就不需要聲明version了,如:

?

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>

如,spring-boot-starter-web?和?spring-boot-starter-test?在?spring-boot-dependencies?中的聲明分別為:

?

?

?

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>1.5.1.RELEASE</version>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>1.5.1.RELEASE</version><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions>
</dependency>

?

參考文檔?
-?spring 官方文檔

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450146.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450146.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450146.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟件工程—讓軟件包自帶commit id

軟件開發中軟件版本號是一個重要的概念&#xff0c;而對于工程師軟件版本號所對應的git&#xff08;svn&#xff09;commit id則更重要&#xff0c;嵌入式固件&#xff0c;移動端app開發中&#xff0c;理想的情況下是我拿到一個固件包&#xff0c;或者一個嵌入式設備&#xff0…

ASM 判定一個類,實現了指定接口

為什么80%的碼農都做不了架構師&#xff1f;>>> ASM 判定一個類&#xff0c;實現了指定接口 技術支持 ASM 中&#xff0c;ClassReader 類&#xff1a;對已存在的進行解析&#xff0c;并提供獲取類信息的方法。 通過 ClassReader &#xff0c;實現對一個類的解析。 …

流媒體數據代理----Anychat

“用戶流媒體數據代理功能”&#xff0c;使用該功能可以實現指定用戶將其它用戶的流媒體數據&#xff08;音頻、視頻&#xff09;做為自己的數據&#xff0c;轉發給請求指定用戶相關數據的用戶。 應用場景&#xff1a;將指定用戶&#xff08;P&#xff09;設置為其它用戶&…

“javax.servlet.http.HttpServlet“ 錯誤

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我們在進行java web的開發的時候&#xff0c;新建jsp頁面&#xff0c;可能會出現The superclass "javax.servlet.http.HttpServlet…

WeakReference帶來了什么

轉載自&#xff1a;WeakReference帶來了什么 很多人說到&#xff1a;java存在內存泄漏。 我不想反駁&#xff0c;因為我也開始慢慢說了&#xff0c;但我知道&#xff1a;內存泄漏和規范編碼是兩個完全不同的概念&#xff0c;所以我想說&#xff1a;請規范編碼 java的“內存泄…

視頻聊天室開發詳解

互聯網的不斷發展&#xff0c;各種新技術的興起&#xff0c;原本做管理軟件的我也逐漸轉向從事著互聯網相關的運營產品的開發。尤其是目前抄得最火熱的音視頻互動平臺技術&#xff0c;今天我先列出最基本開發流程&#xff0c;適用于開發視頻會議系統、語音視頻聊天系統、遠程教…

Android應用開發—ViewPager FragmentPagerAdapter和FragmentStatePagerAdapter下Fragment的生命周期

ViewPager配合不同的PagerAdapter&#xff0c;對應Fragment的生命周期有著不同的表現&#xff0c;了解這個生命周期機制對于開發者選擇合適的PagerAdapter實現不同的效果&#xff0c;有著很大的幫助。 FragmentPagerAdapter和FragmentStatePagerAdapter的區別&#xff1a; Fra…

Bash常用快捷鍵及其作用

Bash常用快捷鍵及其作用 在 Bash 中有非常多的快捷鍵&#xff0c;如果可以熟練地使用這些快捷鍵&#xff0c;可有效地提高我們的工作效率。只是快捷鍵相對較多&#xff0c;不太好記憶&#xff0c;這就要多加練習和使用。這些快捷鍵如表 1 所示。 表 1 Bash 常用快捷鍵快捷鍵作 …

Putty(菩提)遠程連接服務器教程

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 百度不準直接用其圖片&#xff0c;我也懶得去偷&#xff0c;只是記錄下原文地址&#xff1a; https://jingyan.baidu.com/article/4543…

V8 中更快的異步函數和 promises

原文作者&#xff1a;Maya Lekova and Benedikt Meurer譯者&#xff1a;UC 國際研發 Jothy寫在最前&#xff1a;歡迎你來到“UC國際技術”公眾號&#xff0c;我們將為大家提供與客戶端、服務端、算法、測試、數據、前端等相關的高質量技術文章&#xff0c;不限于原創與翻譯。一…

Android應用開發—淺談MVX模式

MVX模式的文章太多了&#xff0c;這里不會再重述&#xff0c;關鍵我還不太懂&#xff0c;本文會從自己的一些思考&#xff0c;分析下MVX的分離思想&#xff0c;先占個坑&#xff01; Android應用架構這篇文章最后講到&#xff1a; Activity和Fragment變得非常輕量。他們唯一的…

音視頻互動平臺--P2P通信技術

壓縮包可以從這里獲得&#xff1a;http://anychat.storage.aliyun.com/AnyChatCoreSDK_Win32(MBCS)_V4.5.zip 下載后&#xff0c;首先將其解壓到一個臨時文件夾中&#xff0c;然后開始后續工作。 編譯后我們獲得的是.lib文件。 AnyChat SDK向上層應用開放了內核的P2P連接策略…

pigz 壓縮

壓縮工具--pigz 壓縮&#xff1a; tar cvf - 目錄名 | pigz -9 -p 24 > file.tgz pigz&#xff1a;用法-9是壓縮比率比較大&#xff0c;-p是指定cpu的核數。 解壓: pigz -d file.tgz 這時候是tar包&#xff0c;那么在用 tar -xvf file.tar 解包。 速度比較gz.tar格式的壓縮…

exgcd模板

逆元模板P1082 1 #include <cstdio>2 #include <algorithm>3 4 int exgcd(int a, int b, int &x, int &y) {5 if(!b) {6 x 1;7 y 0;8 return a;9 } 10 int g exgcd(b, a % b, x, y); 11 std::swap(x, y); 12 …

有關eclipse for java ee版本遇到的坑( Context initialization failed)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 這幾天把以前網上看的視頻的源代碼拷貝到eclipse下面進行學習&#xff0c;當時用的是eclipse-jee-neon-M4a-win32-x86_64這個版本的ecli…

Android應用開發—TabLayout定制化Tab樣式

TabLayout的使用詳解基于此文&#xff0c;了解下setCustomView(childView)的使用。 TabLayout去掉指示器效果&#xff1a; app:tabIndicatorHeight"0dp"

即時通訊開發(逐行、隔行掃描)

早期的電視制式均采用隔行掃描&#xff0c;但是現在很多的高清、專業級的視頻采集卡都是采用逐行掃描模式&#xff0c;雖然現在的視頻設備和數字視頻技術已近有了很大的發展和進步&#xff0c;但是在時候中這兩種掃盲模式和顯示模式一直還存在&#xff0c;在前面我們介紹第四代…

ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案

ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案 原文:ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案ASP.NET Core 從2.2版本開始&#xff0c;采用了一個新的名為Endpoint的路由方案&#xff0c;與原來的方案在使用上差別不大&#xff0c;但從內部運行方式上來說…

ES6學習筆記

ES6學習筆記 在學習ES6的過程中做的一些記錄&#xff0c;用于未來的快速回憶。let&const 作用域的概念 ES6新增塊級作用域的概念&#xff08;一個大括號括起來的部分就是一個塊作用域&#xff09;let與const用于在塊級作用域中聲明變量&#xff0c;該變量僅在當前塊級作用域…

用jenkins創建節點

原料&#xff1a;(1)jre下載鏈接&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html (2)jdk:下載鏈接&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 一、創建SLAVE節點…