我们在上一篇文章中使用的是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插件导入项目即可,这里就不细说了。

单点登录(三)-----实战-----cas server 源码下载和部署的更多相关文章

  1. 单点登录(七)-----实战-----cas server去掉https验证

    我们在搭建cas中已经说过如果不搭建https证书体系的需要去掉https的验证: 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS 因为cas4.2以上的代码做了一些 ...

  2. SSO单点登录系列1:cas客户端源码分析cas-client-java-2.1.1.jar

    落雨 cas 单点登录 希望能给以后来研究cas的兄弟留下一点思路,也算是研究了两天的成果,外国人的代码写的很晦涩,翻译下来也没有时间继续跟进,所以有错误的还请大家跟帖和我讨论,qq 39426378 ...

  3. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

  4. 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo

    情况 cas单点登录 cas server 源码部署tomcat运行报错 把cas server的代码下载下来后使用gradle插件或者maven插件以及转化成eclipse·后导入发现部署到tomc ...

  5. 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr

    cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...

  6. Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署

    Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.CAS简介 CAS( ...

  7. cas+tomcat+shiro实现单点登录-2-部署cas server到tomcat

    目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...

  8. Cas Server源码编译现场实例

    最近公司有项目需要做单点登录,根据要求就写下这篇从github上下载的包到项目编译通过,再到修改原代码实现自己的特殊逻辑. 前提: java环境 tomcat环境 maven环境 MyEclipse开 ...

  9. 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS

    我们在上一篇文章中已经介绍了cas以及它的工作流程. 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型 本章我们开始动手搭建一个完整的cas服务实现2个web之间的单点登录. ...

随机推荐

  1. SICP读书笔记 3.2

    SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...

  2. Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第7节: 获取异线程释放的对象

    Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第七节: 获取异线程释放的对象 上一小节分析了异线程回收对象, 原理是通过与stack关联的WeakOrder ...

  3. Redis源码阅读(四)集群-请求分配

    Redis源码阅读(四)集群-请求分配 集群搭建好之后,用户发送的命令请求可以被分配到不同的节点去处理.那Redis对命令请求分配的依据是什么?如果节点数量有变动,命令又是如何重新分配的,重分配的过程 ...

  4. nodejs 中jead模板改为ejs

    var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set(' ...

  5. yum安装lnmp

    python其他知识目录 1.安装LNMP之前要安装EPEL,以便安装源以外的软件,如Nginx,phpMyAdmin等. yum install epel-release 提示:EPEL,即Extr ...

  6. 教你用Python解决非平衡数据问题(附代码)

    本文为你分享数据挖掘中常见的非平衡数据的处理,内容涉及到非平衡数据的解决方案和原理,以及如何使用Python这个强大的工具实现平衡的转换. 后台回复“不平衡”获取数据及代码~ 前言 好久没有更新自己写 ...

  7. 使用switchPage.js插件jQuery全屏滚动翻页

    1. 先引入jquery.js,再引入switchPage.js 文件地址:点击打开链接 <script src="jquery.min.js"></script ...

  8. 用java构造一个带层次的文件目录遍历器

    import java.util.List; import java.io.File; import java.util.ArrayList; public class IteratorUtil { ...

  9. 凡事预则立|项目Beta冲刺准备

    1.讨论组长是否重选的议题和结论. 组员一致认为组长不需要重选,我们都很认可组长的表现,组长的付出我们都看在眼里,我们找不出更适合担任组长的人选. 2.下一阶段需要改进完善的功能. 财富值的布局优化以 ...

  10. 利用Hibernate子查询(in) 得到部分字段(实体类的构造函数)

    感人= = 终于弄好了 String hql="select new Shop(s.strid,s.shopname,s.tradearea,s.discountinfo,s.beginti ...