`
etimechen
  • 浏览: 9575 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

将java项目做为linux服务

阅读更多

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

 

  • 大小: 9.4 KB
  • 大小: 62.3 KB
0
3
分享到:
评论
1 楼 java_web_hack1 2014-08-05  
stop服务用kill,有点太暴力了吧?
看了一些系统服务,都没有用kill,有的是用pidfile

相关推荐

Global site tag (gtag.js) - Google Analytics