欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 上部署Java应用 博客分类: Linuxjava 服务 shelljava部署 

程序员文章站 2024-03-13 08:29:45
...

 

                    Linux 上部署Java应用

把一个java应用部署到Linux上,可以打成jar包进行部署,也可以直接把项目以目录的结构部署到服务器上。我今天实现的是以项目目录部署到Linux上。

 

一:本地工程目录结构及主类代码:


Linux 上部署Java应用
            
    
    博客分类: Linuxjava 服务 shelljava部署 

一个简单的Java工程,主类是ControlSendSms.java

类的代码:

import com.hnsms.common.CommonUtil;

public class ControlSendSms {

      public static void main(String[] args) {

    String dataName=args[0];

            String configName=args[1];

            String num=args[2];

            String path = args[3];

       

            //设置日志头

            String log_head = path+configName+"_log";

            CommonUtil.LOG_HEAD = log_head;

            CommonUtil.WriteLog("传递参数   为:"+dataName+"       "+configName+"             "+num);

            CommonUtil.WriteLog("************短信分发各表程序启动***************

            ******");

            ControlSendDAO.initialParm(dataName, configName);

            ControlSendDAO.branchTable((new Integer(num)).intValue());

        }

 }

把上面的工程打成zip包后,传到服务器上后解压即可。

 

二:服务器上运行脚本

start.sh*

  1. #声明变量
  2. CURRENT_APP_HOME="/home/was/send/log/"
  3. MY_NUM1="sms10086"
  4. MY_NUM2="tab_config"
  5. MY_NUM3=500
  6. #下面是引入lib目录下的jar包文件
  7. export CLASSPATH=./:../lib/commons-logging.jar:../lib/concurrent.jar:../lib/dom4j.jar:../lib/jboss-remoting.jar:../lib/junit.jar:../lib/log4j-1.2.8.jar:../lib/mx4j-jmx.jar:../lib/ojdbc14_10_2_0_3.jar:../lib/tools.jar
  8. echo "${CURRENT_APP_HOME}"
  9. /usr/bin/java com.hnsms.deal.ControlSendSms ${MY_NUM1} ${MY_NUM2} ${MY_NUM3} ${CURRENT_APP_HOME} &

 

因为主类里需要四个参数:

     String dataName=args[0];

    String configName=args[1];

    String num=args[2];

    String path = args[3];

这里所以运行Javacom.hnsms.deal.ControlSendSms时传了四个参数

/usr/bin/java com.hnsms.deal.ControlSendSms ${MY_NUM1} ${MY_NUM2} ${MY_NUM3} ${CURRENT_APP_HOME} &

声明变量中,开始我范了一个错,脚本代码是这样写的:

MY_NUM1 = "sms10086"

MY_NUM2 = "tab_config"

然后会报 MY_NUM1: command not found ,原来是 等号两边都不能有空格,否则会被Shell解释成命令和命令行参数。 

 

  • Linux 上部署Java应用
            
    
    博客分类: Linuxjava 服务 shelljava部署 
  • 大小: 20.9 KB
相关标签: shell java 部署