• 利用脚本启动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

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

  • 相关阅读:
    mouse_event,keybd_event
    构造自己的StringGrid
    BMP2JPG,JPG2BMP
    $J的用法
    一个简单的系统托盘程序
    构造自己的双向链表
    C++的iostream标准库介绍
    D3DXVec4Dot 函数
    3D游戏从头编之D3D(3)
    D3DXVec4Cross 函数
  • 原文地址:https://www.cnblogs.com/antyi/p/3929055.html
Copyright © 2020-2023  润新知