1、开发的时候,在java项目里建立lib文件夹,将第三方jar包放入lib文件夹里。右键项目Build Path-Add External Archives,把lib里的jar包引入项目里。
2、新建MANIFEST.MF文件放置在项目根目录,文件内容为:
Manifest-Version: 1.0
Main-Class: com.kc.analyzer.Run
Class-Path: ./ ./lib/commons-logging-1.1.3.jar ./lib/mysql-connector-java-5.1.22-bin.jar
Main-Class是项目启动的类名
Class-Path是第三方jar包名和路径
完成后的目录结构如下图所示:
3、右键项目-选择export-选择java下的JAR File-Next-Next-Next-选择Use existing manifest from workspace,选择项目下的MANIFEST.MF文件,如下图:
Finish后得到项目的JAR包
4、在linux找个合适的地方新建一个目录,命名为“linksnapshot”,你可以随意命名,有意义就行。将JAR包通过FTP上传至linksnapshot目录中。
5、将项目里的lib文件夹也上传至linux的linksnapshot的目录中,如果项目中有.properties配置文件,也需要上传至与linksnapshot目录中。JAR包、lib文件夹、.properties配置文件,这三项同级目录。
6、linux下确保已经安装了java虚拟机,在/etc/profile尾部插入java环境变量如下:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
我这里是jdk1.7.0,请自行修改
7、在linksnapshot下新建start.sh文件,内容如下:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SNAP_HOME=/mnt/aaa/bbb/linksnapshot
java -jar $SNAP_HOME/linksnapshot.jar &
修改start.sh文件权限
chmod 775 start.sh
8、在/etc/init.d/目录下新建service,我建的名称为“linksnapshot”。内容如下:
# Short-Description: linksnapshot
$
# Description: linksnapshot service $
### END INIT INFO $
. /lib/lsb/init-functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SNAP_HOME=/mnt/aaa/bbb/linksnapshot
case "$1" in
start)
log_begin_msg "Starting linksnapshot service"
/bin/bash $SNAP_HOME/start.sh >/dev/null 2>&1
log_end_msg 0
;;
stop)
PID=`ps -ef | grep 'linksnapshot' | grep -v grep | awk '{print $2}'`
log_begin_msg "Stopping linksnapshot service"
if [ ! -z "$PID" ]; then
kill -15 $PID
fi
log_end_msg $PID
;;
restart)
$0 stop
$0 start
;;
*)
log_success_msg "Usage: service linksnapshot {start|stop|restart}"
exit 1
esac
exit 0
执行sudo /etc/init.d/linksnapshot start就启动服务了。可以通过ps -ef|grep 'linksnapshot'查看服务状态。