Linux 上部署Java应用

 

                    Linux 上部署Java应用

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

 

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


一个简单的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];

这里所以运行Java类com.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解释成命令和命令行参数。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值