文档章节

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

白志华
 白志华
发布于 2015/10/18 10:54
字数 1528
阅读 2
收藏 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
)




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


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



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

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/18713733

共有 人打赏支持
白志华
粉丝 30
博文 265
码字总数 57524
作品 0
长沙
程序员
[转]Jboss 4 使用及安全配置

一、JBoss的安装 与配置 1、到http://www.jboss.org/ 下载jboss服务器 JBoss-4.2.3 2、 配置JBOSS_HOME, JDK环境变量 3、Windows用户 运行 JBoss 目录下的 bin/run.bat , Linux 用户运行 ./...

mj4738
2012/02/10
0
0
几种javaweb容器的配置备忘

1 JBOSS端口更改 1.到jboss-4.2.3.GAserverdefaultdeployjboss-web.deployer下,打开server.xml,修改默认的8080端口为8081. 2.然后到jboss-4.2.3.GAserverdefaultconfjboss-service.xml 修改......

王小明123
2013/06/18
0
1
JBoss6【基础】简介(未整理)

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器 因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用 2006年,Jboss公司(http://jboss...

小99
2014/03/18
0
0
JBoss 系列二十八:JBoss Data Grid(Infinispan)CarMart 示例

JBoss Data Grid是Red Hat中间件产品(http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/),JBoss Data Grid是基于开源社区产品Infinispan(http://infinispan.org/)。......

无鸯
2014/02/04
0
0
Jboss 5.1.0 GA配置

一、软件准备 jboss-5.1.0.GA.zip Centos 6.4 64位 java 1.7.0_25 二、软件部署 1)添加环境变量 vim /etc/profile export JBOSS_HOME=/software/jboss-5.1.0.GAexport JAVAHOME=/software/j......

吝啬鬼
2015/07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

解决访问swaggerUI接口文档显示basic-error-controler问题

使用swagger生成接口文档后,访问http://localhost:8888/swagger-ui.html#/,显示如下: 解决方法: public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2)......

张欢19933
7分钟前
0
0
区块链教程以太坊源码分析core-state-process源码分析(二)

兄弟连区块链教程以太坊源码分析core-state-process源码分析(二):关于g0的计算,在黄皮书上由详细的介绍和黄皮书有一定出入的部分在于if contractCreation && homestead {igas.SetUin...

兄弟连区块链入门教程
12分钟前
0
0
BLAKE2 — fast secure hashing

BLAKE2 — fast secure hashing SPECS | CODE | B2SUM | CONTACT | USERS | THIRD-PARTY SOFTWARE | CRYPTANALYSIS | FAQ Come from http://www.blake2.net/ BLAKE2 is a cryptographic has......

openthings
18分钟前
0
0
Titan Framework MongoDB深入理解3

在前两篇文章中,我们介绍了操作Mongo数据库的类型Curd和Finder,下面要理解的是框架内mongoDB操作的条件类型——MongoDBQueryCondition。 MongoDBQueryCondition是一个接口,规定了一些实现...

云季科技
18分钟前
0
0
数据结构(算法)-树

#include <iostream>#include <malloc.h>using namespace std;#define MaxSize 100typedef char ElemType;typedef struct node{ElemType data;struct node *left ,*......

ashuo
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部