gxpt之快速部署jar到jboss的bat脚本
gxpt之快速部署jar到jboss的bat脚本
白志华 发表于3年前
gxpt之快速部署jar到jboss的bat脚本
  • 发表于 3年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

       高校平台的项目已经接触了一段时间了。项目是使用maven进行管理,jboss做服务器。jar管理得好了,jboss也比tomcat支持的规范更全了。但是有一点却并不怎么好用。那就是每次调试部署jar时,都得手动去删除jar、缓存文件、日志文件。一次还可以,二次就有点烦了,而且jar越多,越麻烦,一个次序搞错了,就可能会报错。


       当然有一个很简单的解决办法就是将所有的包进行编号,比如1.gxpt_entity_user.jar,2.gxpt_mgr_user.jar等,这样扔进去都或自动按顺序进行部署。但是总不能每次都需要改名称。


       秉承着将一切重复性的工作都用工具代替,第一时间想到了去网上搜。但是转念又一想,这种个性化的脚本估计只能靠自己写。去网上尝试搜了一些相关工具,百度果然“答非所问”。所以还是自己动手写吧。


       我的思路是:写2个bat文件,第一个是收集项目中的jar和war,并放入到临时文件中,然后去jboss中清除同名的jar和war,并清除缓存和日志文件。然后启动jboss。第二个bat脚本则是从临时文件中按“实体jar—>公共jar—>Service层jar—>war” 的顺序将各种jar和war按次序部署到jboss中。


       经历了N多实验终于成功了,再也不用手动去删除、复制jar和war了。又经过多次的修改,又分不同情况,添加了多个bat脚本,当然最基本的还是v1.0的那2个jar。结果jar多了,找起来又费力了。所以又做了一个统一的入口脚本“Start__Me.bat”。虽然入口统一了,但是还是脚本还是太多了。最后的最后又用工具把所有的bat脚本封装成一个exe,入口还是Start__Me.bat。最终变成了一个“gxpt快速部署脚本——客户端版v1.0”。突然发现世界一下子清静了。


       脚本很成功。现在已经更新到v2.0版本了。附一个入口脚本:

@echo off
color 0a
title gxpt快速部署脚本v2.0

:start 
@echo --------------------------------- 
@echo 请选择操作: 
@echo 1.JBoss启动前重新部署[需要手动启动jboss]
@echo 2.JBoss运行时重新部署[jboss正在运行时,选择我]
@echo 3.直接部署jar包[清缓存,启jboss,部jar包,一站式服务]
@echo 4.启动jboss[清缓存,启动jboss]
@echo 5.清除本地临时文件[清除脚本运行过程中的临时文件]
@echo 6.清除jboss[清除jboss中的jar、缓存+本地临时文件]
@echo 7.打开项目根目录[项目源代码目录]
@echo 8.打开热部署目录[jboss\server\default\deploy]
@echo 9.重新启动
@echo a.直接启动jboss
@echo b.清空jboss缓存,启动jboss
@echo c.打开日志文件
@echo 0.退出
@echo --------------------------------- 
set /p choice=请选择: 
if %choice%==1 goto one
if %choice%==2 goto two
if %choice%==3 goto three
if %choice%==4 goto four 
if %choice%==5 goto five 
if %choice%==6 goto six
if %choice%==7 goto seven
if %choice%==8 goto eight
if %choice%==9 goto nine
if %choice%==a goto A
if %choice%==b goto B
if %choice%==c goto C
if %choice%==0 goto zero
cls
@echo 选择错误,请重新选择 
goto start 


:one
echo ------------------------------
@echo.>>log.txt
echo 已选择:1.JBoss启动前重新部署[需要手动启动jboss]>>log.txt
@echo.>>log.txt
echo 调用CollectJars[JBoss启动前重新部署].bat
start CollectJars[JBoss启动前重新部署].bat
goto ok


:two
echo ------------------------------
@echo.>>log.txt
echo 已选择:2.JBoss运行时重新部署[jboss正在运行时,选择我]>>log.txt
@echo.>>log.txt
echo 调用CollectJars[JBoss运行时重新部署].bat
start CollectJars[JBoss运行时重新部署].bat
goto ok


:three
echo ------------------------------
@echo.>>log.txt
echo 已选择:3.直接部署jar包[清缓存,启jboss,部jar包,一站式服务]>>log.txt
@echo.>>log.txt
echo 调用jbossDeploy[直接部署jar包].bat
start jbossDeploy[直接部署jar包].bat
goto ok


:four
echo ------------------------------
@echo.>>log.txt
echo 已选择:4.启动jboss[清缓存,启动jboss]>>log.txt
@echo.>>log.txt
echo 调用jbossStart.bat
start jbossStart.bat
goto ok


:five
echo ------------------------------
@echo.>>log.txt
echo 已选择:5.清除本地临时文件[清除脚本运行过程中的临时文件]>>log.txt
@echo.>>log.txt
echo 调用Clean.bat
start Clean.bat
goto ok


:six
echo ------------------------------
@echo.>>log.txt
echo 已选择:6.清除jboss[清除jboss中的jar、缓存+本地临时文件]>>log.txt
@echo.>>log.txt
echo 调用CleanJBoss[完全清除Jboss].bat
start CleanJBoss[完全清除Jboss].bat
goto ok


:seven
echo ------------------------------
@echo.>>log.txt
echo 已选择:7.打开项目根目录[项目源代码目录]>>log.txt
@echo.>>log.txt
start %PROJ_HOME%
goto ok


:eight
echo ------------------------------
@echo.>>log.txt
echo 已选择:8.打开热部署目录[jboss\server\default\deploy]>>log.txt
@echo.>>log.txt
start %JBOSS_HOME%\server\default\deploy
goto ok

@echo b.清空jboss缓存,启动jboss
:nine
echo ------------------------------
@echo.>>log.txt
echo 已选择:9.重新启动>>log.txt
@echo.>>log.txt
start Start__Me.bat
exit

:A
echo ------------------------------
@echo.>>log.txt
echo 已选择:a.直接启动jboss>>log.txt
@echo.>>log.txt
start %JBOSS_HOME%\bin\run.bat -b 0.0.0.0
goto ok

:B
echo ------------------------------
@echo.>>log.txt
echo 已选择:b.清除jboss[清除jboss中的jar、缓存+本地临时文件]>>log.txt
@echo.>>log.txt
echo 调用CleanJBoss[部分清除Jboss].bat
start CleanJBoss[部分清除Jboss].bat
goto ok

:C
@echo.>>log.txt
echo 已选择:c.打开日志文件>>log.txt
@echo.>>log.txt
start log.txt
goto ok

:zero
@echo.>>log.txt
echo 已选择:0.退出>>log.txt
@echo.>>log.txt
if exist log.txt del log.txt
if exist tmp rd /s /q tmp
if exist tmp.txt del tmp.txt
if exist interface.txt del interface.txt
exit

:ok
set choice=-1

cls
goto start
)




       这只是一个入口脚本,如果觉得对你有帮助,请到这里下载全部脚本。


       工具虽小,但是却十分省时省力,还不容易出错,大大提高了工作效率。而我们也要将“一切重复性的工作都用工具来代替”的意识装进脑子里,寻找一切可以“偷懒”的办法,去方便自己。用别人的工具是借助巨人的肩膀让自己站得更高,没有条件,创造条件,没有人能阻挡我们“偷懒”的渴望!



版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 29
博文 260
码字总数 57524
×
白志华
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: