六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 49|回复: 0

利用脚本启动java程序

[复制链接]

升级  64%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
32
 楼主| 发表于 2013-2-7 03:51:21 | 显示全部楼层 |阅读模式
今天在工作中,需要写一个shell脚本,启动一个socket程序,从而模拟短信网关。查了一些资料,终于搞定了,现在记录一下,方便大家查阅。

       为了说明使用方法,我们就用最简单的程序来实现,比如我们要运行下面这个类的main方法

import java.io.File;import java.io.IOException;import org.apache.log4j.Logger;public class TestClass ...{        static Logger log = Logger.getLogger(TestClass.class);    /** *//**     * @param args     */    public static void main(String[] args) ...{        log.debug(args[0]);        File file = new File(args[0]);        try ...{            file.createNewFile();        } catch (IOException e) ...{            e.printStackTrace();        }    }}         
       我们需要把这个类所在的project打成jar包,比如叫做:cmdDemo.jar,然后把cmdDemo.jar和该工程所需要的所有jar包放到一起,比如我的目录是:D:/cmdDemo/lib。

         以下要写脚本文件,我们分为两个部分,windows和linux。

一.windows

      在windows下就是要写大家熟悉的bat文件,例如我在D:/cmdDemo/lib下新建一个start.bat,内容如下:

java -classpath D:/cmdDemo/lib/log4j-1.2.14.jar;D:/cmdDemo/lib/cmdDemo.jar chb.cmd.test.TestClass D:/cmdDemo/test.txt
       然后双击该bat文件,就会发现在D:/cmdDemo目录下多了个test.txt文件。

二.linux

         在linux下需要新建一个sh脚本,基本写法和在windows下一样,唯一区别是在windows下各个jar包之间的分隔符是";",而在linux下各个jar包之间的分隔符是":"。

java -classpath /root/cmdDemo/lib/log4j-1.2.14.jar:/root/cmdDemo/lib/cmdDemo.jar chb.cmd.test.TestClass /root/cmdDemo/test.txt
      然后运行这个脚本文件就ok了,如果没有权限的话,记得使用

chmod +x start.sh


        恩,好了,虽然很简单,但是还是希望能够帮助大家。


        Linux/Unix下读取lib目录下所有包生成classpath的Shell
       http://www.blogjava.net/Unmi/archive/2007/07/25/132391.html
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表