window7系统下实验(linux下路径格式和windows下不一样) Eclipse下使用Runtime.getRuntime().exec启动ja
RunTime.getRuntime().exec("java My_Program");System.exit(0); which would start a whole new JVM running your program, and then kill the original. Not exactly pretty or efficient, but it would restart it.
今天在Eclipse中写了用到 Runtime.getRuntime().exec("java MyTest"); 来启动一个新的java程序,无奈却无法启动MyTest类。
1. 而这个程序在cmd中是可以完全正常运行的。于是我将MyTest.class(除去包名)复制到此工程的根目录下,突然发现MyTest程序启动
了!
我由此得出结论,使用Runtime.getRuntime().exec来启动其他java程序时, java虚拟机是在工程的根目录下开始查找这个类的,而这个类实际存在于bin目录下面。这时只要在命令中加入classpath的设置信息皆可,另外需加上包名。
最后修改代码如下:
2. Runtime.getRuntime().exec("java -classpath H:\\workspace\\javawork\\bin cn.itcast.io.MyTest");
或者
3.Runtime.getRuntime().exec("java -classpath ./bin cn.itcast.io.MyTest"); .代表当前目录.
或者
4.Runtime.getRuntime().exec("java -classpath bin cn.itcast.io.MyTest");
程序正常运行!