Linux 上部署Java应用_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Linux 上部署Java应用

Linux 上部署Java应用

 2011/10/21 8:18:33  周凡杨  http://15838341661-139-com.iteye.com  我要评论(0)
  • 摘要:Linux上部署Java应用把一个java应用部署到Linux上,可以打成jar包进行部署,也可以直接把项目以目录的结构部署到服务器上。我今天实现的是以项目目录部署到Linux上。一:本地工程目录结构及主类代码:一个简单的Java工程,主类是ControlSendSms.java类的代码:importcom.hnsms.common.CommonUtil;publicclassControlSendSms{publicstaticvoidmain(String[]args)
  • 标签: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];

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

?

  • 大小: 20.9 KB
  • 查看图片附件
发表评论
用户名: 匿名