Linux下编译和部署JavaWeb程序脚本

 Linux下编译和部署JavaWeb程序脚本
目录结构如下:

|

|---- YourProject

|             |-------- WebRoot

|             |               |---- WEB-INF

|             |               |           |------- lib

|             |               |           |------- classes

|             |-------- src

|---- lib

|---- compile.sh

|---- deploy.sh

view plaincopy to clipboardprint?
compile.sh  
-------------------------------  
#! /bin/bash  
# check args  
if [ $# -ne 1 ]  
then echo "Usage:$0 PROJECT_NAME" exit  
fi  
PROJ=$1 
# init path  
CURRPATH=`pwd`  
LIBDIR="$CURRPATH/$PROJ/WebRoot/WEB-INF/lib" 
LIBDIR_OTHER="$CURRPATH/lib" 
SOURCEDIR="$CURRPATH/$PROJ/src" 
DISTDIR="$CURRPATH/$PROJ/WebRoot/WEB-INF/classes" 
# classpath  
CLASSPATH="$CLASSPATH" 
TMP=`find $LIBDIR -name "*.jar" | awk '{var=$0":"var;}END{print var;}'`  
CLASSPATH="$TMP$CLASSPATH" 
TMP=`find $LIBDIR_OTHER -name "*.jar" | awk '{var=$0":"var;}END{print  
var;}'`  
CLASSPATH="$TMP$CLASSPATH" 
# cleanup  
rm -fr $DISTDIR/*  
# javac  
# CMD="javac -sourcepath $SOURCEDIR -classpath $CLASSPATH -d $DISTDIR  
`find $SOURCEDIR -name "*.java"`"  
# echo "cmd="$CMD  
javac -sourcepath $SOURCEDIR -classpath $CLASSPATH -d $DISTDIR `find  
$SOURCEDIR -name "*.java"`  
# copy resources  
# mkdir  
cd $SOURCEDIR  
echo "#! /bin/bash" > $CURRPATH/.cptemp  
find . -type d | awk 'BEGIN{OFS=" "}{dir=substr($0,  
3);distdir="'"$DISTDIR/"'"dir;print "mkdir -p",distdir;}' >>  
$CURRPATH"/.cptemp" 
# copy file  
find . -type f | grep -v '.java' | awk 'BEGIN{OFS=" "}{dir=substr($0,  
3);sourcedir="'"$SOURCEDIR/"'"dir;distdir="'"$DISTDIR/"'"dir;print  
"cp",sourcedir,distdir;}' >> $CURRPATH"/.cptemp" 
chmod u+x $CURRPATH/.cptemp  
# execute  
$CURRPATH/.cptemp  
# remove  
rm -f $CURRPATH/.cptemp 
compile.sh
-------------------------------
#! /bin/bash
# check args
if [ $# -ne 1 ]
then echo "Usage:$0 PROJECT_NAME" exit
fi
PROJ=$1
# init path
CURRPATH=`pwd`
LIBDIR="$CURRPATH/$PROJ/WebRoot/WEB-INF/lib"
LIBDIR_OTHER="$CURRPATH/lib"
SOURCEDIR="$CURRPATH/$PROJ/src"
DISTDIR="$CURRPATH/$PROJ/WebRoot/WEB-INF/classes"
# classpath
CLASSPATH="$CLASSPATH"
TMP=`find $LIBDIR -name "*.jar" | awk '{var=$0":"var;}END{print var;}'`
CLASSPATH="$TMP$CLASSPATH"
TMP=`find $LIBDIR_OTHER -name "*.jar" | awk '{var=$0":"var;}END{print
var;}'`
CLASSPATH="$TMP$CLASSPATH"
# cleanup
rm -fr $DISTDIR/*
# javac
# CMD="javac -sourcepath $SOURCEDIR -classpath $CLASSPATH -d $DISTDIR
`find $SOURCEDIR -name "*.java"`"
# echo "cmd="$CMD
javac -sourcepath $SOURCEDIR -classpath $CLASSPATH -d $DISTDIR `find
$SOURCEDIR -name "*.java"`
# copy resources
# mkdir
cd $SOURCEDIR
echo "#! /bin/bash" > $CURRPATH/.cptemp
find . -type d | awk 'BEGIN{OFS=" "}{dir=substr($0,
3);distdir="'"$DISTDIR/"'"dir;print "mkdir -p",distdir;}' >>
$CURRPATH"/.cptemp"
# copy file
find . -type f | grep -v '.java' | awk 'BEGIN{OFS=" "}{dir=substr($0,
3);sourcedir="'"$SOURCEDIR/"'"dir;distdir="'"$DISTDIR/"'"dir;print
"cp",sourcedir,distdir;}' >> $CURRPATH"/.cptemp"
chmod u+x $CURRPATH/.cptemp
# execute
$CURRPATH/.cptemp
# remove
rm -f $CURRPATH/.cptemp

view plaincopy to clipboardprint?
deploy.sh  
------------------------------ 
#! /bin/bash 
# check args  
if [ $# -ne 2 ]  
then  
  echo "Usage:$0 PROJECT_NAME DIST_PATH" 
  exit  
fi  
PROJ=$1  
DIST_PATH=$2 
# init path  
CURR_PATH=`pwd`  
SOUR_PATH="$CURR_PATH/$PROJ/WebRoot" 
DIST_PROJ=$DIST_PATH"/"$PROJ 
# cleanup  
rm -rf $DIST_PROJ 
# deploy  
mkdir $DIST_PROJ  
cd $SOUR_PATH  
cp -r * $DIST_PROJ 
deploy.sh
------------------------------
#! /bin/bash
# check args
if [ $# -ne 2 ]
then
  echo "Usage:$0 PROJECT_NAME DIST_PATH"
  exit
fi
PROJ=$1
DIST_PATH=$2
# init path
CURR_PATH=`pwd`
SOUR_PATH="$CURR_PATH/$PROJ/WebRoot"
DIST_PROJ=$DIST_PATH"/"$PROJ
# cleanup
rm -rf $DIST_PROJ
# deploy
mkdir $DIST_PROJ
cd $SOUR_PATH
cp -r * $DIST_PROJ

 

本文来自http://blog.csdn.net/gtuu0123/archive/2009/09/23/4585644.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值