利用脚本启动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
恩,好了,虽然很简单,但是还是希望能够帮助大家。
利用脚本启动java程序的更多相关文章
- shell脚本启动java程序
		
#!/bin/bash ### 切换到工作目录 bin=$(cd `dirname ${0}`;pwd) cd ${bin} echo "bin [${bin}] .." ### ...
 - Linux上设置开机启动Java程序
		
在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...
 - IDEA部署项目,并结合Shell脚本运行Java程序
		
一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...
 - sh脚本执行Java程序
		
1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...
 - Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序
		
Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...
 - window JNI_CreateJavaVM启动java程序
		
https://blog.csdn.net/earbao/article/details/51889605 #define _CRT_SECURE_NO_WARNINGS 1 #inclu ...
 - 使用shell/bat脚本调试java程序示例
		
一.linux下shell启动java #!/bin/sh JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre # JVM_OPT ...
 - eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序
		
一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 nex ...
 - shell脚本运行java程序jar
		
在UBuntu上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: #!/b ...
 
随机推荐
- unidbnavigator提示汉化
 - Hive-开启动态分区
			
开启动态分区 --开启动态分区 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict ...
 - 多线程-闭锁CountDownLatch
			
闭锁相当于相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关着的,所有的线程都不可以通过.它可以使一个或者一组线程等待某个时间发生.闭锁状态包括一个计数器,初始化的时候传入一个正数,这个数字表示等待 ...
 - HttpClient示例01
			
1.要使用 HttpClient 需要下载 Apache的相关包 我这里下载的是 httpcomponents-client-4.5.2-bin.zip.httpcomponents-client-4 ...
 - JNIjw05
			
ZC: 这个代码,没有真正的运行测试 1.VC6(CPP)的DLL代码: #include<stdio.h> #include "jniZ_JNIjw05.h" #in ...
 - socket 关于同一条TCP链接数据包到达顺序的问题
			
转:http://blog.csdn.net/l1008610/article/details/52197602 以前作者也一直以为数据包先发的不一定先到,直到今天才意识这个问题的缺陷,数据包是不一定 ...
 - [转]linux将一个服务器上的文件或者文件夹复制到另一台服务器上
			
本文转载自<linux 将一个服务器上的文件或者文件夹复制到另一台服务器上>,有时间实践一把 使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上 复制文件或文件夹 ...
 - 51nod 1042 数位dp
			
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1042 1042 数字0-9的数量 基准时间限制:1 秒 空间限制:131 ...
 - iOS唯一标示符引导
			
在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标 ...
 - LeetCode OJ:Lowest Common Ancestor of a Binary Tree(最近公共祖先)
			
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
 
			
		
package chb.cmd.test;
public class TestClass {
    
    /**
     */
}