目录结构如下:
|
|---- 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