gxpt之快速部署jar到jboss的bat脚本

       高校平台的项目已经接触了一段时间了。项目是使用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
)

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

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

时间: 2024-07-29 05:17:00

gxpt之快速部署jar到jboss的bat脚本的相关文章

基于资源编排在专有网络环境下快速部署高可用的Dubbox服务(ZooKeeper版)

本文将介绍在专有网络VPC(Virtual Private Cloud)下,基于资源编排服务,快速部署高可用的Dubbox服务的过程.Dubbox服务采用的注册中心是ZooKeeper集群.做这件事情的意义在于:节约部署Dubbox的时间,降低部署Dubbox过程中出错的风险. ROS阿里云资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维

基于资源编排在经典网络环境下快速部署高可用的Dubbox服务(Redis版)

本文将介绍在经典网络环境下,基于资源编排快速部署高可用Dubbox服务的过程.做这件事情的意义在于:提供给开发者一套高可用的Dubbox服务框架,节约开发人员部署Dubbox服务的时间,并降低了部署Dubbox过程中出错的风险. ROS阿里云资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务.用户通过模板描述多个云计算资源的依赖关系.配置等,并自动完成所有资源的创建和配置,以达到自动化部署.运维等目的.编排模板同时也是一种标准化的资源和应用交付

快速部署安全狗解决CC攻击

电脑装有的安全软件对一般的SQL注入等攻击还是没什么问题的,直到遇到CC攻击.本文中作者将教你如何快速部署安全狗解决CC攻击. 手头有几个网站:1个Z-Blog的博客.1个phpwind论坛.1个Discuz!论坛,流量又都不高,所以用个512M内存的VPS也足够用了,平时速度也还不错. 但是网站算是网络安全类的,所以,对网站的攻击隔三差五也是有的.还好,多数时候是扫描.踩点,用某安全监控软件检测到的攻击企图最多的一天居然有8万次.不过由于装有安全软件,一般的SQL注入等攻击还是没什么问题的--

vSphere web client 虚拟机生成模板快速部署

一般来说,在 vSphere web client 中如果需要部署虚拟机,则要上传 Images 到存储器,然后通过挂载镜像的方式进行安装.这篇文章主要写通过虚拟机来克隆模板,并且通过模板进而重新生成虚拟机,进而快速部署,下面开始: 一.生成模板 1.打开 vSphere web client 右击已经存在的虚拟机,选择克隆->克隆为模板 2.输入模板名称和选择模板存放位置 3.选择存放模板的计算机及检查兼容性 4.选择存储器,并且选择虚拟磁盘格式(精简置备) 5.生成模板 6.查看模板生成状态

阿里云快速部署Kubernetes - VPC环境

本文展示了一个在阿里云VPC网络上快速部署一个安全的kubernetes集群的方法,安装使用kubeadm工具,这个工具是k8s-release1.5的一部分(注意kubeadm还处在beta版本,欢迎大家使用的时候多提宝贵的意见).本文带大家在阿里云上快速安装kubernetes-1.5.1.由于kubeadm使用的默认镜像仓库是gcr.io/google-containers,国内无法访问,并且支持自定义镜像仓库的代码并不包含在kubeadm-release1.5,因此我们从master分支

阻碍Windows 8快速部署的十大障碍

Windows 8中国发布会将于10月23日在上海首发:它将预装在新的PC中并且提供给要升级新版本Windows的PC用户下载.但各种微软不能控制的因素将影响Windows 8的快速部署.下面我们来看一下会影响Windows 8的部署的十大因素. 1. 安全的问题 微软一再表示Windows 8是其操作系统迄今为止最安全的版本.但是,如果这种说法是错误的会怎样呢?如果Windows 8不能提供保护消费者和企业用户的高水平的安全,它将很难吸引用户. 2. 糟糕的平板电脑体验 微软推出了Surfac

Shell脚本快速部署Kubernetes集群系统

  本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本.   运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog

惠普推Hadoop专用计算平台 快速部署

在惠普年度用户大会上,惠普旗下的AppSystem整合计算平台产品线,首度推出Hadoop专用计算平台--HP AppSystem for Apache Hadoop,通过软硬件的整合,为企业提供一个快速部署的分布式数据处理平台. 惠普解决方案与策略副总裁Paul Miller表示,Hadoop属于MPP(Massive Parallel Processing)分布式并行计算架构,其实是一个颇为复杂的技术,通常需要通过专家的协助来部署,对企业而言技术门坎很高,也因此目前有利用Hadoop来处理大

如何使用Docker快速部署go-web应用程序

简介 虽然大部分Go应用程序可以编译为一个单一的二进制文件.都是对于Web应用程序来说,可能还有自己的模板和配置文件.如果在一个项目中包含大量的文件,可能会因为文件的不同步而导致出错或造成更严重的错误. 本文将通过beego应用程序在docker中的快速部署,来介绍如何使用docker简化go-web应用程序的部署.通过该文章您可以了解如何使用Docker部署Go Web应用程序,以及Docker如何帮您改善开发工作流和部署过程. 目标 通过本文的学习,您将能: 了解Docker如何帮您开发Go