Java web项目在linux环境下自动编译和部署脚本
自动编译脚本 build.sh, 放置在项目根目录下。
#!/bin/bash
# check args
# init path
CURRPATH=`pwd`
LIBDIR="$CURRPATH/WebContent/WEB-INF/lib"
SRC="$CURRPATH/src"
CLASS="$CURRPATH/WebContent/WEB-INF/classes"
if [ -a $CLASS ]; then
rm -rf $CLASS/*
else
mkdir $CLASS
fi CLASSPATH="$CLASSPATH"
TMP=`find $LIBDIR -name "*.jar" | awk '{var=$0":"var;}END{print var;}'`
CLASSPATH="$TMP$CLASSPATH"
echo "classes:$CLASS"
javac -sourcepath $SRC -classpath $CLASSPATH -d $CLASS `find $SRC -name "*.java"`
WebContent/deploy.sh
自动部署脚本 deploy.sh,放置在WebContent/目录下。
#!/bin/bash
# check args
PROJ="UFE"
WAR="$PROJ.war"
if [ $# -ne 1 ]; then
TOMCAT="/usr/local/tomcat"
else
TOMCAT=$1
fi
BAK="$TOMCAT/bak"
if [ -a $BAK ]; then
ls $BAK
else
mkdir $BAK
fi if [ -a $WAR ]; then
rm -f $WAR
fi
WEBROOT=`pwd`
if [ -a $WAR ]; then
rm -f $WAR
fi
echo "jar -cvf $WAR "
jar -cfM $WAR .
BAKWAR="$BAK/$WAR"
if [ -a $BAKWAR ]; then
i=1
while [[ -a $BAK/$WAR.$i ]]
do
((i++))
done
mv $BAKWAR $BAK/$WAR.$i
fi
$TOMCAT/bin/shutdown.sh
DIS="$TOMCAT/webapps/$WAR"
if [ -a $DIS ]; then
mv $DIS $BAKWAR
rm -f $DIS
fi
Folder="$TOMCAT/webapps/$PROJ"
if [ -a $Folder ]; then
rm -rf $Folder
fi
cp $WAR $DIS
$TOMCAT/bin/startup.sh
Java web项目在linux环境下自动编译和部署脚本的更多相关文章
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- Linux环境下JDK/Eclipse一键安装脚本
-------------------------------------------------------------------- author:jiangxin Email:jiangxinn ...
- Linux环境下在Tomcat上部署JavaWeb工程
本文讲解如何将我们已经编译好的JavaWeb工程在Linux环境下的Tomcat上进行部署,总体上的思路是和Windows下JavaWeb项目部署到tomcat差不多,具体步骤和命令如下. 注:部署之 ...
- Jenkins+SVN+Ant在Linux环境下自动完成版本的增量更新与编译
第一步:查看安装的jdk版本,查看是否安装ant,查看是否安装Jenkins java -version ant -version rpm -qa|grep jenkins 第二步:安装ant 官网: ...
- Linux 环境下 javac 编译错误: 编码UTF8的不可映射字符 (编码UTF8/GBK的不可映射字符)
Linux 系统下一般默认使用UTF-8编码, 使用javac 编辑使用其他编码格式编写的源吗时,会出现 “ 错误: 编码UTF8的不可映射字符 ”. 最近在使用 javac 编译 一个在wind ...
- Linux环境下的编译,链接与库的使用
参考博客: http://www.cnblogs.com/qytan36/archive/2010/05/25/1743955.html http://m.blog.csdn.net/article/ ...
- java web项目在linux部署、启动,查看系统配置常用的linux命令总结
本文为博主原创,未经允许不得转载: 以下为在工作中常用的linux命令进行了总结,主要在项目安装及启动,及编辑部署文件时应用较多1.gz文件是一种压缩文件. 以·tar.gz为扩展名的是一种压缩文件, ...
- springboot项目命linux环境下命令启动
测试环境:dev nohup java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 \-Dcom.s ...
- 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引
什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...
随机推荐
- DB2 上copy表结构及数据
现已有一行数据,要复制为多行,每行只有两个字段值不同,db2 没有sql server的top关键字,本只想复制几次,然后update逐条数据,发现不行. 然后想到不如临时创建一张表B,插入此行数据, ...
- HTTP1.0和HTTP1.1的主要区别是
HTTP/.0协议使用非持久连接,即在非持久连接下,一个tcp连接只传输一个Web对象 HTTP/.1默认使用持久连接(然而,HTTP/.1协议的客户机和服务器可以配置成使用非持久连接)在持久连接下, ...
- 判断一个类到底是从哪个jar包中调用的工具类
项目中使用的jar包较多时,会出现jar冲突的情况,有时候很难判断当前使用的这个类是从哪个jar包中调用的.因为一般我们只能看到jar包的名称,不清楚其中的类的目录结构. 这个类的作用就是说明当前调用 ...
- 全零网络IP地址0.0.0.0表示意义详谈
转自:http://liuzhigong.blog.163.com/blog/static/17827237520114207278610/ RFC: 0.0.0.0/8 - Addresses in ...
- 谈谈网站插入youtube视频播放
最近需要在网页首页追加视频播放功能. 需要播放youtube视频.中间遇到一些波折.特来分享一下. 首先像网页添加视频文件我们通常够采用embed标签. 标签里可以设置很多的关键子.我们可以配置为fl ...
- Windows系统上安装多个版本jdk,修改环境变量不生效
本机已经安装了jdk1.6,而比较早期的项目需要依赖jdk1.5,于是同时在本机安装了jdk1.5和jdk1.6. 安装jdk1.5前,执行 java -version 得到java version ...
- java中的负数的问题
在计算机中是使用二制数中的最高位表示来正负. 二进制的储存中都是用的补码,正数的原码.反码和补码相同,负数的原码是最高位为1,反码最高位不变,其余各位取反,补码为其反码+1(重要!!) 首先得知道最高 ...
- 【SSH】 之 Struts2
(一)Struts2是什么? Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与 ...
- 使用nginx做负载均衡的session共享问题
查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不 ...
- 什么时候使用CountDownLatch
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...