版本信息
CAS 5.3.17-SNAPSHOT
gradle 4.8
node 8.11.2
1、到github下载cas的源码
cas 项目地址
https://github.com/apereo/cas
克隆后,checkout出5.3.x的分支
2、安装和配置gradle
下载gradle complete 4.8软件包
https://gradle.org/releases/
将软件包解压到D:\Program Files\gradle-4.8,配置环境变量
GRADLE_HOME = D:\Program Files\gradle-4.8
GRADLE_USER_HOME = D:\gradle\.gradle (缓存的依赖存放的目录)
path=%GRADLE_HOME%\bin\

3、修改gradle依赖包的下载地址为阿里云的仓库地址(避免被墙,如果已设置代理可以跳过此步)
maven{ url"https://maven.aliyun.com/nexus/content/groups/public/" }
maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
总共有3处,这里只截第一处

4、指定编译的cas版本

5、设置gradle本地依赖仓库路径


6、编译报错及解决措施
1)Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.


一般配置了第3步后,会自动下载。如果下载失败,可以到如下地址,下载对应版本,放到对应目录。
http://services.gradle.org/distributions/
2)Execution failed for task ':api:cas-server-core-api-configuration-model:generateConfigurationMetadata'.
> Process 'command 'D:\Program Files\jdk1.8.0_211\bin\java.exe'' finished with non-zero exit value 1

开发环境中的node的版本和cas 5.3.x的node版本不一致
开发环境中的node的版本v12.14.1
cas 5.3.x的node版本8.11.2
Windows上node.js的多版本管理工具gnvm
百度网盘地址:https://pan.baidu.com/s/1gdmVgen?errmsg=Auth+Login+Sucess&errno=0&ssnerror=0&#list/path=%2F%E6%88%91%E7%9A%84%E5%85%B1%E4%BA%AB%2Fgnvm&parentPath=%2F
不存在 Node.js 环境(未安装node):下载并解压缩gnvm.exe保存到任意文件夹,并将此文件夹加入到环境变量Path。(环境变量配置参考安装node)
存在 Node.js 环境 (已安装node):下载并解压缩gnvm.exe保存到Node.js所在的文件夹。(我就直接找到我的node安装目录下,把刚刚下载好的gnvm粘贴过去)
为设置gnvm的仓库为淘宝镜像仓库(解决被墙问题)
gnvm config registry http://npm.taobao.org/mirrors/node
安装nodejs 8.11.2版本
gnvm install 8.11.2
切换nodejs为8.11.2
gnvm use 8.11.2
查询当前版本
gnvm node-version

3)npm安装node-sass失败
npm设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

安装python,下面是python27的下载地址
https://www.python.org/download/releases/2.7/
设置sass的地址后,依然下载node-sass失败,经查看为淘宝镜像仓库没有该版本的node-sass
于是修改了一下CAS的node-pass的版本

4)Expected linebreaks to be 'LF' but found 'CRLF'
解决问题的博客:http://www.jsphp.net/webpack/show-26-352-1.html
选择方案1,在.eslintrc文件 rules 里面 配置
//允许windows开发环境
"linebreak-style": [0 ,"error", "windows"],
5)在阿里云上没有的jar包,又下载比较慢的,可以通过mvn install的命令直接把jar包安装到本地仓库里
mvn install:install-file -Dfile=jar包的位置 -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar