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