当前位置: 首页 > news >正文

源码编译 Cas Server 4/5/6/7

源码编译 Cas Server 4/5/6/7

  • 1、下载源码
  • 2、修改 gradle 下载地址
  • 3、指定 JDK 版本
  • 4、Gradle 配置仓库下载加速和依赖配置
    • 4.1、CAS Server 7.1.3 和 6.6.15
    • 4.2、CAS Server 5.3.16
      • 4.2.1、根目录 build.gradle
      • 4.2.2、编译 cas-server-webapp 报错
      • 4.2.4、编译 cas-server-support-duo 或者 cas-server-support-duo-core 报错
  • 5、Cas Server 5/6/7 编译命令
  • 6、源码编译 Cas Server 4
    • 6.1、下载源码
    • 6.2、maven 和 jdk 版本
    • 6.3、编译命令

1、下载源码

wget -O cas-7.1.3.zip "https://codeload.github.com/apereo/cas/zip/refs/tags/v7.1.3"
# wget -O cas-6.6.15.zip "https://codeload.github.com/apereo/cas/zip/refs/tags/v6.6.15"
# wget -O cas-5.3.16.zip "https://codeload.github.com/apereo/cas/zip/refs/tags/v5.3.16"
unzip cas-7.1.3.zip

2、修改 gradle 下载地址

  • 对于 cas 5、6、7
vim gradle/wrapper/gradle-wrapper.properties

将 distributionUrl 修改为腾讯云的源,只改前面的下载地址部分
在这里插入图片描述

distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.10-bin.zip

3、指定 JDK 版本

cas版本jdk版本gradle 版本
7.1.3jdk 218.10
6.6.15大于等于 jdk 117.5.1
5.3.16jdk 1.84.8

4、Gradle 配置仓库下载加速和依赖配置

4.1、CAS Server 7.1.3 和 6.6.15

修改根目录下的 build.gradle 文件,对于 7.1.3 和 6.6.15 修改为以下配置

repositories {gradlePluginPortal()mavenLocal()maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/jcenter' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }maven { url 'https://maven.aliyun.com/repository/spring-plugin' }maven { url 'https://maven.scijava.org/content/repositories/public/' }maven { url "https://plugins.gradle.org/m2/" }  // 备用仓库maven { url "https://repo.spring.io/plugins-release" }  // 备用仓库
}

如果提示下载 com.github.mmoayyed.ws-wss4j 依赖失败,可以去:https://maven.scijava.org/content/repositories/public/com/github/mmoayyed/ws-wss4j/ 下载
在这里插入图片描述

修改根目录下的 settings.gradle
将 https://jitpack.io 修改成 https://maven.scijava.org/content/repositories/public
在这里插入图片描述
修改后
在这里插入图片描述

4.2、CAS Server 5.3.16

4.2.1、根目录 build.gradle

对于 5.3.16 的 build.gradle 修改以下配置
注释掉 20~23行
在这里插入图片描述
并手动指定版本号

ext {publishSnapshots = Boolean.getBoolean("publishSnapshots")publishReleases = Boolean.getBoolean("publishReleases")sonatypeUsername = System.getProperty("sonatypeUsername")sonatypePassword = System.getProperty("sonatypePassword")testCategoryType = System.getProperty("testCategoryType")forceBom = Boolean.getBoolean("forceBom")enableRemoteDebugging = Boolean.getBoolean("enableRemoteDebugging")continuousIntegrationBuild = Boolean.getBoolean("CI") || Boolean.getBoolean("TRAVIS") || Boolean.getBoolean("CONTINUOUS_INTEGRATION")publishingRelease = publishReleases && rootProject.sonatypeUsername != null && rootProject.sonatypePassword != null/*Open the Git repository in the current directory.Get commit id of HEAD.*///git = org.ajoberstar.grgit.Grgit.open(dir: file('.').canonicalPath)//def gitHead = git.head()//currentRevision = gitHead.id//currentAbbreviatedRevision = gitHead.abbreviatedIdcurrentRevision = "5.3.16" currentAbbreviatedRevision = "5.3.16"
}

在这里插入图片描述

buildscript.repositories 修改为以下配置

repositories {mavenLocal()maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/jcenter' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }maven { url 'https://maven.aliyun.com/repository/spring-plugin' }maven { url "https://plugins.gradle.org/m2/" }  // 备用仓库maven { url "https://repo.spring.io/plugins-release" }  // 备用仓库
}

allprojects.repositories 修改为以下配置

repositories {mavenLocal()maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/jcenter' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }maven { url 'https://maven.aliyun.com/repository/spring-plugin' }maven { url "https://plugins.gradle.org/m2/" }  // 备用仓库maven { url "https://repo.spring.io/plugins-release" }  // 备用仓库
}

4.2.2、编译 cas-server-webapp 报错

在这里插入图片描述

修改文件 webapp/gradle/webapp.gradle,指定本地 node

cd /usr/local
wget -O node-v8.11.2-linux-x64.tar.gz https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.gz
tar -zxvf node-v8.11.2-linux-x64.tar.gz
vim /etc/profile
#Node
export NODE_HOME=/usr/local/node-v8.11.2-linux-x64
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
node -v
npm -v
#在Jenkins构建脚本的npm install命令前加入以下配置,允许以root身份执行安装
npm config set user 0
npm config set unsafe-perm true

在这里插入图片描述

node {version = "${nodeVersion}"nodeModulesDir = project(":webapp").projectDirdownload = false  // 禁用自动下载workDir = file("/usr/local/node-v8.11.2-linux-x64")
}

4.2.4、编译 cas-server-support-duo 或者 cas-server-support-duo-core 报错

在这里插入图片描述

wget -O duo_client_java-0.2.2.zip https://codeload.github.com/duosecurity/duo_client_java/zip/refs/tags/0.2.2
unzip duo_client_java-0.2.2.zip
cd duo_client_java-0.2.2/duo-client
vim pom.xml

注掉旧的工件和组

<!--  <groupId>com.duosecurity</groupId>-->
<!--  <artifactId>duo-client</artifactId>-->
<!--  <version>0.2.1</version>-->
<groupId>net.unicon.iam</groupId>
<artifactId>duo-client</artifactId>
<version>0.2.2</version>

在这里插入图片描述

cd duo_client_java-0.2.2/duo-client
mvn clean install -U -D maven.test.skip=true -D maven.javadoc.skip=true
mvn install:install-file -Dfile=duo_client_java-0.2.2/duo-client/target/duo-client-0.2.2.jar -DgroupId=net.unicon.iam -DartifactId=duo-client -Dversion=0.2.2 -Dpackaging=jar

5、Cas Server 5/6/7 编译命令

# 清除缓存
rm -rf ~/.gradle/caches/
# 停止历史的gradlew进程
./gradlew --stop
# 进入目录
cd cas-7.1.3
# 设置JAVA_HOME
export JAVA_HOME="/usr/local/jdk-21.0.5"
# 查看gradle版本和jdk版本
./gradlew --version -Dorg.gradle.java.home=/usr/local/jdk-21.0.5
# 下载所有依赖
./gradlew --refresh-dependencies dependencies -Dorg.gradle.java.home=/usr/local/jdk-21.0.5
# cas7.1.3编译命令
./gradlew clean build --parallel -x test -x javadoc -x check --build-cache --no-daemon -Dorg.gradle.java.home=/usr/local/jdk-21.0.5
unset JAVA_HOME

在这里插入图片描述

构建成功后,war 文件在 webapp/cas-server-webapp/build/libs 目录下

ll webapp/cas-server-webapp/build/libs

在这里插入图片描述

6、源码编译 Cas Server 4

由于 Cas Server 4 使用的是 maven,这里单独篇幅介绍

6.1、下载源码

wget -O cas-4.1.10.zip "https://codeload.github.com/apereo/cas/zip/refs/tags/v4.1.10"
unzip cas-4.1.10.zip

6.2、maven 和 jdk 版本

依赖版本
jdk1.8
maven3.5.3

一些依赖报错,则需要手动安装依赖

  • org.restlet-2.1.0.jar
wget https://maven.restlet.talend.com/org/restlet/jee/org.restlet/2.1.0/org.restlet-2.1.0.jar
mvn install:install-file -Dfile=org.restlet-2.1.0.jar -DgroupId=org.restlet.jee -DartifactId=org.restlet -Dversion=2.1.0 -Dpackaging=jar
  • jcifs-ext-0.9.4.jar
wget https://gitee.com/wxhntmy/jcifs-ext-0.9.4/raw/master/jcifs-ext-0.9.4.jar
mvn install:install-file -Dfile=jcifs-ext-0.9.4.jar -DgroupId=org.samba.jcifs -DartifactId=jcifs-ext -Dversion=0.9.4 -Dpackaging=jar
  • Could not find artifact com.hazelcast:hazelcast-code-generator:jar:4.1.10
    修改 cas-4.1.10/cas-server-integration-hazelcast/pom.xml 文件,指定 hazelcast 版本
<dependency><groupId>com.hazelcast</groupId><artifactId>hazelcast</artifactId>       <version>3.5</version>     
</dependency>
<dependency><groupId>com.hazelcast</groupId><artifactId>hazelcast-code-generator</artifactId>       <version>3.5</version>     
</dependency>

在这里插入图片描述

6.3、编译命令

cd cas-4.1.10
export JAVA_HOME="/usr/local/jdk1.8.0_202"
/usr/local/apache-maven-3.5.3/bin/mvn clean install -U -D maven.test.skip=true -D maven.javadoc.skip=true
unset JAVA_HOME

在这里插入图片描述

相关文章:

  • 无人机军用与民用技术对比分析
  • App使用webview套壳引入h5(三)——解决打包为app后在安卓机可物理返回但是在苹果手机无法测滑返回的问题
  • Uniapp 二维码生成与解析完整教程
  • win32相关(远程线程和远程线程注入)
  • Spring框架学习day7--SpringWeb学习(概念与搭建配置)
  • 深度解析地质灾害风险普查:RS与GIS技术在泥石流、滑坡灾害中的应用,ArcGIS数据管理、空间数据转换、专题地图制作、DEM分析及实战案例分析
  • 实用对比图软件推荐:快速呈现信息差异
  • opencv-4.8.1到 sln
  • Excel数据分析:基础
  • Tensorrt python api 10.11.0笔记
  • 红花UGT鉴定与特征分析-文献精读142
  • 本地部署大模型实战:使用AIStarter一键安装Ollama+OpenWeb教程(含最新版本更新指南)
  • 适用于vue3的大屏数据展示组件库DataV(踩坑版)
  • QQ邮箱发送验证码(Springboot)
  • vue和uniapp聊天页面右侧滚动条自动到底部
  • 第六个微信小程序:教师工具集
  • 负载均衡将https请求转发后端http服务报错:The plain HTTP request was sent to HTTPS port
  • [Zynq] Zynq Linux 环境下 AXI UART Lite 使用方法详解(代码示例)
  • opencv如何在仿射变换后保留完整图像内容并自动裁剪
  • OpenCV 图像通道的分离与合并
  • 二维码生成短链接/seo程序专员
  • 吉安网站建设优化服务/永久免费建个人网站
  • 网站设计评价指标/在线生成个人网站免费
  • 国外 网站有做验证码吗/微信推广广告在哪里做
  • 南京做网站多少钱/怎么开发自己的网站
  • 厦门酒店团购网站建设/推广赚钱的平台有哪些