無需付費,教你IDEA社群版中開發Web專案(SpringBoot\Tomcat)
1、IDEA 版本介紹
最近有小夥伴私信我說 IDEA 破解怎麼總是失效?難道就沒有使用長一點的嗎...
咳咳,除了給我留言「啟用碼」外,或許社群版可能完全滿足你的需求。
相信有挺多小夥伴可能不清楚或者沒聽過社群版,其實 IDEA 有三個版本:
-
Community:社群版,相當於 OpenJDK 的存在,完全免費,但功能有限制,且功能相對於終極版少的不是一點半點,甚至預設都不支援 Web 開發... 關於跟終極版的區別可以參考我的這篇文章:社群版和付費版的區別,好處就是免費,且可以用於商業開發,Google 的 Android Studio 就是基於社群版開發的。
-
EAP:終極版的開發版,或者說終極版的免費版,免費,功能無限制,更新頻率比較高,相當於王者榮耀體驗服,但只能試用30天,想要長時間使用就必須每隔 30 天重灌一次...
-
Ultimate:終極版,收費,價格不菲,首年3000元左右,功能無限制,也有30天的試用期,目前大家用的比較多的版本。
如果大家對 EAP 版本感興趣的話可以訪問該連結:EAP下載連結請點選此處文字
2、正文部分
大家使用 IntelliJ IDEA 基本上是做 Web 開發,但社群版預設對 Web 開發的支援真的是一言難盡...
比如不支援 Spring、SpringMVC 等框架呀、不支援 Tomcat 專案部署呀之類的。
但是,不支援但不代表不能做 Web 開發,接下來帶大家走一遍如何通過社群版建立一個 Spring Boot 專案。
社群版下載連結:社群版下載連結請點選此處文字
安裝過程就不贅述了,一路預設即可。
2.1、安裝 Spring Assistant 外掛
我們都知道在終極版中有個 Spring Initializr 的腳手架,可以方便快速的幫助我們建立一個 Spring Boot 應用,那麼社群版能用嗎?
能用,但是需要先裝外掛。
進入 Settings/Preferences
-> Plugins
外掛目錄,搜尋關鍵字「Spring Assistant」,找到對應的外掛後進行安裝、重啟。
安裝重啟IDEA之後,我們再 new project(新建專案) 時,切換到 Spring Assistant 標籤:
你會發現這不就是 Spring Initializr 嘛~
Next 之後,就是填寫專案資訊、勾選專案依賴之類的,在這就不贅述了,跟使用 Spring Initializr 一樣。
如下是建立後的 Spring Boot 專案介面:
你會發現,建立後的專案還是那麼熟悉,還是那個結構,一點變化都沒有,甚至直接執行這個 Spring Boot 專案都沒什麼問題。
那麼如果專案開發依賴的架構僅僅是 Spirng Boot 的話,感覺社群版也很香啊,沒啥問題~
2.2、安裝 Tomcat 外掛
有的小夥伴的專案可能是傳統的 Web 框架,還是需要 Tomcat 容器(或者 Jetty)才能啟動。
沒關係,社群版預設不支援 Tomcat 專案部署,但是不代表不能使用,安裝外掛走起~
進入 Settings/Preferences
-> Plugins
外掛目錄,搜尋關鍵字「Tomcat」,找到對應的外掛後進行安裝、重啟。
安裝重啟之後,點選頂部 Run > Edit Configurations...
然後新增一個啟動容器 Smart Tomcat,操作步驟其實跟 Tomcat 一樣~
如下是我本地一個傳統 Web 專案的啟動截圖:
3、社群版開發總結
其實社群版使用下來,柑橘基本能滿足我的開發需求,特別是前後端分離之後。
但是為什麼大家還是去使用終極版呢?
在使用了幾天的社群版後我覺得能吐槽的也就是框架支援方面了...
終極版對 Spring 相關的框架做了大量的支援,突然轉換到社群版後偶爾會覺得彆扭(其實還好),比如社群版不支援 Spring Boot、Spring Cloud 等配置檔案的自動補全,或者是框架的一些圖形化類圖的展示。
不支援 Detecting Duplicates(Detecting Code):程式碼查重,提示程式碼重構等。
前端開發不支援語法高亮(僅針對 freemarker 語法做了測試),不過前後端分離後,這個就不算啥。
其他的你要說不支援吧,但是大部分又可以通過外掛形式進行整合,比如 Tomcat 、Spring Assistant 、Database 等。
總之,一切皆外掛,不支援的可以自己安裝外掛,如果外掛不支援的話,就當我沒說這句話...
其實,社群版也有好處,尤其是記憶體方面,因為沒有了一堆預設外掛,反而社群版顯的非常輕量級,簡直就是記憶體的福音。。。
至此,如果大家被終極版的啟用方式搞得一度崩潰的話,不妨試一下社群版。
大家有在使用社群版的嗎?歡迎評論區留言討論~