有什么问题吗?执行命令:
java -cp .:$CLASSPATH:./SMCMessageSender.jar:./mysql-connector-java.jar com/zhongtian/mms/send/SMCMMSSender134_5     应该是
java -cp .:$CLASSPATH:./SMCMessageSender.jar:./mysql-connector-java.jar com.zhongtian.mms.send.SMCMMSSender134_5
>> ./logs/"134_5"+"`date '+%Y%m%d'`".txt 表示就标准输出变成添加到 ./logs/"134_5YYYYmmdd.txt的结尾 2>&1 表示将错误输出定向标准输出
& 表示要求后台运行

解决方案 »

  1.   

    ChDw(米) :好上面的shell是正确的,不用修改,我只是不明白其中的一些意思SMCMMSSender134_5类是在SMCMessageSender.jar中的,如果我不打包(其实SMCMMSSender134_5类没有引用其它的外部类),怎么执行SMCMMSSender134_5类?>> ./logs/"134_5"+"`date '+%Y%m%d'`".txt 这个我明白了 2>&1 这个还没有明白,能不能在解释一下啊,多谢了
      

  2.   

    如果你不打包,则必须放在一个目录中,并且这个目录结构必须和你的package的声明相同,即
    C:\MyClass\com\zhongtian\mms\send\SMCMMSSender134_5.class运行的时候java -cp C:\MyClass; com.zhongtian.mms.send.SMCMMSSender134_5
    2>&1 就是将错误输出也指向了标准输出在一般的情况下面,一个进程有三个输出输入  
    0 代表标准输入   a.exe 0<my.txt 表示从my.txt中读入作为a.exe的标准输入,对a.exe来说System.in.read()其实读到的就是 my.txt中的内容
    1 代表标准输出,System.out
    2 代表错误输出,System.err标准输出 和 错误输出 是可以分开的,并不是必须输出到相同的位置一般上,标准输出 和 错误输出 都是输出到屏幕上,但是使用了 “>>”这样以后就已经改变了标准输出 到一个文件当中,错误输出仍然保持在屏幕上!而 2 > &1 即指将错误输出输出到标准输出中,在本例中即为那个log文件