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'查看服务状态。