编译CAS 5.3.17源码

版本信息

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处,这里只截第一处

gradle依赖配置文件

4、指定编译的cas版本

指定编译的cas版本

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

IDEA gradle配置
war包编译成功后位置位置

6、编译报错及解决措施

1)Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.

项目编译需要的gradle版本


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容