CAS单点登录-Debug调试源码(十八)

@if “%CERT_SUBJ_ALT_NAMES%” == “” set CERT_SUBJ_ALT_NAMES=dns:example.org,dns:localhost,dns:%COMPUTERNAME%,ip:127.0.0.1

@rem Check for mvn in path, use it if found, otherwise use maven wrapper

@set MAVEN_CMD=mvn

@where /q mvn

@if %ERRORLEVEL% neq 0 set MAVEN_CMD=.\mvnw.bat

@if “%1” == “” call:help

@if “%1” == “copy” call:copy

@if “%1” == “clean” call:clean %2 %3 %4

@if “%1” == “package” call:package %2 %3 %4

@if “%1” == “bootrun” call:bootrun %2 %3 %4

@if “%1” == “debug” call:debug %2 %3 %4

@if “%1” == “run” call:run %2 %3 %4

@if “%1” == “help” call:help

@if “%1” == “gencert” call:gencert

@rem function section starts here

@goto:eof

:copy

@echo “Creating configuration directory under %CONFIG_DIR%”

if not exist %CONFIG_DIR% mkdir %CONFIG_DIR%

@echo “Copying configuration files from etc/cas to /etc/cas”

xcopy /S /Y etc\cas* \etc\cas

@goto:eof

:help

@echo “Usage: build.bat [copy|clean|package|run|debug|bootrun|gencert] [optional extra args for maven]”

@echo "To get started on a clean system, run “build.bat copy” and “build.bat gencert”, then “build.bat run”

@echo “Note that using the copy or gencert arguments will create and/or overwrite the %CAS_DIR% which is outside this project”

@goto:eof

:clean

call %MAVEN_CMD% clean %1 %2 %3

exit /B %ERRORLEVEL%

@goto:eof

:package

call %MAVEN_CMD% clean package -T 5 %1 %2 %3

exit /B %ERRORLEVEL%

@goto:eof

:bootrun

call %MAVEN_CMD% clean package spring-boot:run -T 5 %1 %2 %3

exit /B %ERRORLEVEL%

@goto:eof

:debug

call:package %1 %2 %3 & java %JAVA_ARGS% -Xdebug -Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n -jar target/cas.war

@goto:eof

:run

call:package %1 %2 %3 & java %JAVA_ARGS% -jar target/cas.war

@goto:eof

:gencert

where /q keytool

if ERRORLEVEL 1 (

@echo Java keytool.exe not found in path.

exit /b 1

) else (

if not exist %CAS_DIR% mkdir %CAS_DIR%

@echo on

@echo Generating self-signed SSL cert for %DNAME% in %CAS_DIR%\thekeystore

keytool -genkeypair -alias cas -keyalg RSA -keypass changeit -storepass changeit -keystore %CAS_DIR%\thekeystore -dname %DNAME% -ext SAN=%CERT_SUBJ_ALT_NAMES%

@echo Exporting cert for use in trust store (used by cas clients)

keytool -exportcert -alias cas -storepass changeit -keystore %CAS_DIR%\thekeystore -file %CAS_DIR%\cas.cer

)

@goto:eof

代码62行如下,

call:package %1 %2 %3 & java %JAVA_ARGS% -Xdebug -Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n -jar target/cas.war

不难发现是采用java -jar的方式启用了一个远程调试5000端口,当然了这个端口也是可以改的

启用调试


build.cmd debug

结果如下:

这里写图片描述

监听端口


以下作者采用IDEA方式监听,eclipse监听可以参考,点击我打开参考

点击Edit Configuration

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

如果看到如下您已成功了一半

这里写图片描述

调试代码


选择一个代码进行调试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值