maven多模块项目部署

来源:互联网 发布:上古卷轴5捏脸数据ece 编辑:程序博客网 时间:2024/06/03 10:57


maven多模块项目的部署(启动是通过运行主main方法):


1  在linux上直接建立文件夹,如mkdir project


2 之后cd project,同理用mkdir命令建立bin、conf、lib和run目录(是bin启动文件目录中引用的),对于lib中的jar包,对于jar包,包括项目生成的jar包,还包括该项目运行需要的其他jar包(依赖包)。


对于项目生成的jar包,可以通过在eclipse中,项目右键-Run as build-》Goals中输入package即可,生成很多Jar包。


3 可以把项目中的配置文件,放到conf中,便于管理


4 运行的话,在bin中书写运行文件,命名run.sh和projectRun文件,run.sh为具体的启动文件,projectRun启动run.sh文件。

对于run.sh如下:

#!/bin/sh
APP_HOME=/project
CLASSPATH=$APP_HOME/conf

#项目生成的jar包
CLASSPATH=$CLASSPATH:$APP_HOME/lib/dev-server-0.1.jar
CLASSPATH=$CLASSPATH:$APP_HOME/lib/dev-svn-0.1.jar

#下面为运行上面jar需要的jar包

CLASSPATH=$CLASSPATH:$APP_HOME/lib/core2-2.4.8.jar
CLASSPATH=$CLASSPATH:$APP_HOME/lib/activation-1.1.jar
CLASSPATH=$CLASSPATH:$APP_HOME/lib/unboundid-ldapsdk-3.2.0.jar



MAINCLASS=con.dev.DevServer
cd $APP_HOME
exec /usr/bin/java  -classpath "$CLASSPATH" -Dfile.encoding=utf-8  $MAINCLASS


对于projectRun写成对应的启动函数,包括start stop status restart等等,具体展示如下:


#!/bin/sh
### BEGIN INIT INFO
# Provides:         project-service
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the koudai push service.
### END INIT INFO


alias chkconfig=sysv-rc-conf
APP_NAME="project-service"
WORK_DIR="/project"
APP_ID="project-server"
BIN=$WORK_DIR/bin/run.sh
pidfile=$WORK_DIR/run/$APP_ID.pid
. /lib/lsb/init-functions


case "$1" in
start)
pidofproc -p $pidfile $BIN >/dev/null 
if [ "$?" = "0" ]; then
log_failure_msg "$APP_NAME is already started"
exit 1
fi
log_begin_msg "Starting $APP_NAME"
start-stop-daemon --quiet -m -b -d $WORK_DIR -p $pidfile --start --exec $BIN
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $APP_NAME"  
start-stop-daemon --stop -p $pidfile
log_end_msg $?
;;
restart)
log_begin_msg "Restarting $APP_NAME"  
start-stop-daemon --stop --quiet --oknodo -p $pidfile
sleep 1
start-stop-daemon --quiet -m -b -d $WORK_DIR -p $pidfile --start --exec $BIN
log_end_msg $?
;;
status)
status_of_proc -p $pidfile $BIN "$APP_NAME" && exit 0 || exit $?
;;
install)
cp $0 /etc/init.d/$APP_ID
chkconfig --add $APP_ID
;;
uninstall)
rm /etc/init.d/$APP_ID
chkconfig --del $APP_ID
;;
*)
echo "Usage: $APP_ID {start|stop|restart|status}" >&2  
exit 1  
;;  
esac


exit 0


自启动:

ln -sf /dev/dev-sync/bin/dev-sync /etc/init.d/dev-sync-server           把dev-sync添加到/etc/init.d目录并命名为dev-sync-server  服务

update-rc.d dev-sync-server defaults                          dev-sync-server    为服务名

sysv-rc-conf

原创粉丝点击