如何搭建 CAS overlay 項目的 IDEA 開發環境 ?
部署CAS 服務器的方式有很多。CAS 官方推薦使用 CAS overlay 打包
cas.war
來部署 CAS 服務端。
作爲碼農,上戰場怎麼能不帶刀槍?!今天咱們就來說說使用 IDEA 該怎麼搭建 CAS overlay 開發環境。
-
首先找到 Github 上 CAS overlay 的官方源碼,這裏我選擇使用 SSH 協議的 URL :
[email protected]:apereo/cas-overlay-template.git
-
啓動 IDEA 。之後從入口
File ---> New Project from Version Control ...
進入。 -
這裏我使用倉庫地址下載代碼。
-
點擊“Clone” 之後,開始自動下載源代碼。源碼下載完成之後,會提示你選擇當前窗口打開,還是新窗口打開。(與設置有關,可能你直接自動打開了。)首次打開需要花點時間,因爲會自動build,並需要下載各種依賴包。從源代碼看出,使用的gradle來管理項目。爲了依賴包的快速下載,我們可以配置 gradle初始化腳本,在其中設置倉庫走阿里雲代理,詳見手把手教你:Gradle 安裝及配置 。如果只是單個項目使用,也可以在項目中配置。另外,Gradle 最好使用源碼中自帶的兼容版本,使用其他自己安裝的版本可能會存在build 失敗的風險。
-
CAS 目前的最新版本是
6.2.0-SNAPSHOT
,最新穩定版本是6.1.6
。我們切換分支到6.1
。打開項目根目錄下的gradle.properties
文件:# Versions cas.version=6.1.6 springBootVersion=2.2.0.RELEASE # Use -jetty, -undertow to other containers # Or blank if you want to deploy to an external container appServer=-tomcat executable=false gradleVersion=5.6.3 tomcatVersion=9.0.34 group=org.apereo.cas sourceCompatibility=11 targetCompatibility=11 ......
我們看到,當前的
cas
版本是6.1.6
。需要JDK
版本是11
,tomcat
版本9.0.34
,gradle 版本5.6.3
。相應工具版本最好一致,否則可能會出錯。 -
添加一個 Tomcat server 配置。
-
啓動服務。
發現Tomcat 起來了,但是CAS 服務沒起來。查看日誌:cas.war 找不到!!!我們去IDEA 裏的相應目錄去看,果然沒有。 -
查看源碼中的
README.md
,發現如下命令用來構建:# Use --refresh-dependencies to force-update SNAPSHOT versions ./gradlew[.bat] clean build
-
我們查看了 Tomcat server 的配置中,其實是有
Build
前置任務的,但是默認的構建任務不能輸出我們想要的cas.war
。我們在終端手動執行命令:./gradlew clean build
。命令順利執行完成,並且輸出了想要的 war 包。
-
但是,每次都要手動構建war包,還是嫌麻煩,(本來我們就爲了偷懶,沒有選擇直接把war包拷貝到 Tomcat 的 webapps 目錄來運行的方式。)沒關係,前方高能!!!
-
既然默認的構建任務沒法達成目的,必須要使用官方提供的方式構建war包,那我們就加一個前置任務,(當然,無用的前置任務可以刪掉了。)
-
保存後,可以把之前生成的文件,特別是 cas.war 刪除,以驗證我們的配置是否生效。現在,只需我們點以下
Tomcat server
的Run
按鈕,就可以完美運行了!!!
【此處應有掌聲!!!】