您的位置:首页 > 其它

单点登录(三)-----实战-----cas server 源码下载和部署

2017-01-24 19:44 411 查看
我们在上一篇文章中使用的是4.0版本的cas,4.0版本的有发布好的war包可以直接使用,那如果我们要使用更新的版本怎么办呢?

就需要下载源码自己编辑打包了。

步骤如下:

版本选择

我们在cas的github项目中可以看到版本的发布情况,我们可以自己根据特性来选择版本。
https://github.com/apereo/cas/releases

点击DOCS然后查看Getting Started中的Installation Requirements可以看到需要哪些支持。
原则上越新的稳定版本越好,但是需要看看自己本机的开发环境和团队的开发环境是否匹配,5.0版本以上基本都需要jdk1.8以上的支持,而且是使用的gradle构建工具,4.1.10是使用的maven构建工具,但是要求maven版本3.3以上。等等具体要求需要看Installation Requirements。
我这里以 CAS v4.2.7版本为例。
https://github.com/apereo/cas/releases

在下载页面找到4.2.7后选择 source.zip下载:



gradle构建版本解压部署生成war包

解压后得到的是cas server的源码,需要把目录下的cas-server-webapp项目加载到myeclipse中(或者其他IDE)或者直接用gradle命令编译打成war包。





方案一直接在cmd中使用gradle命令进行build打成war包

这种方案适用于直接使用war包,不对cas-server-webapp项目进行修改。
首先需要需要配置gradle的系统环境,才能在cmd中使用gradle的命令。详见:
构建工具-----Gradle-----安装配置
确认gradle命令可以使用的话 打开cmd命令窗口,进入cas-server-webapp目录 运行gradle build命令即可。
大约一分钟后build成功 我们就可以去cas-server-webapp路径下找war包了。war包使用方式详见上篇文章。
cd F:/mofangworkspace/cas/cas-4.2.7/cas-server-webapp
f:
gradle build




方案二加载到myeclipse中再打包成war包 

尝试加载把项目cas-server-webapp加载到myeclipse中再打成war包。
这种方案适用于需要对cas-server项目进行修改的情况,比如增加加密方式的验证以及修改页面样式并在本地调试等等。
但是发现import时找不到项目。



把gradle项目加载到myeclipse需要先把gradle项目转化成eclipse项目
转换项目需要配置gradle的系统环境,详见:
构建工具-----Gradle-----安装配置

然后我们把gradle项目转化成eclipse项目
打开cmd窗口然后执行如下命令cd F:/mofangworkspace/cas/cas-4.2.7/cas-server-webapp
f:
gradle eclipse



等大概10分钟左右后转化成功。


转化好项目之后我们发现myeclipse可以顺利导入这个项目了。


但是加载进来后发现还要依赖其他项目,所以其他项目也需要一个个转换...有点麻烦。cas4.0版本有打包好的war包可以用,然后4.0到4.1.10用的是maven构建的,如果想用新版本的gradle构建的版本 只能这样弄了。(或者在myeclipse中安装gradle插件导入也可以)我这里大概需要转化30个项目并导入,根据名单依次在命令行中进入项目目录使用gradle eclipse命令进行转化。


这些小的项目转化还是比较快的 平均6s左右。全部导入后解决各种情况之后即可部署cas-server-webapp并导出成war包。

可能遇到的问题---Could not reserve enough space for object heap

运行gradle命令时可能会遇到jvm设置内存不足的情况,可以按照以下帖子尝试解决。 
构建工具----gradle---可能遇到的问题----Could not reserve enough space for object heap

maven构建版本的部署

我大概看了下4.1.1以及以下的很多版本都是maven类型的构建项目。
不过需要的maven版本是3.3以上。如果不达到的话则需要升级系统和myeclipse中的maven环境。
否则会导入错误。
maven类型的项目网上还是有很多文档的,直接通过maven的myeclipse插件导入项目即可,这里就不细说了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐