Java web项目在linux环境下自动编译和部署脚本

本文介绍了一种用于Java Web项目的自动编译与部署方案。通过两个Shell脚本实现:build.sh负责编译项目源代码到指定目录;deploy.sh则将编译后的文件打包成WAR格式,并自动部署到Tomcat服务器上。该方案简化了部署流程,提高了开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动编译脚本 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值