利用脚本启动java程序

 

        今天在工作中,需要写一个shell脚本,启动一个socket程序,从而模拟短信网关。查了一些资料,终于搞定了,现在记录一下,方便大家查阅。

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

package chb.cmd.test;

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

 

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

posted on 2014-08-22 11:46  antyi  阅读(464)  评论(0编辑  收藏  举报

导航