目录结构如下:
|
|---- YourProject
| |-------- WebRoot
| | |---- WEB-INF
| | | |------- lib
| | | |------- classes
| |-------- src
|---- lib
|---- compile.sh
|---- deploy.sh
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
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