日期:2014-05-20  浏览次数:20765 次

Runtime.getRuntime().exec()问题.
我想用 Runtime.getRuntime().exec() 来运行下java编译好的class文件,比如那个文件是在d盘目录下。

Runtime.getRuntime().exec("java D:\\Test");

但是这样写运行不了,

我就手动运行了cmd java D:\\Test 也不能正常运行

但是如果首先进入 d:

然后在 java Test却能正常运行,

这些细节以前都没怎么注意。。

如果是这样的话那么

Runtime.getRuntime().exec 的路径要怎么写呢。。。

------解决方案--------------------
环境变量CLASSPATH中添加D:\Test.class试试
------解决方案--------------------
用这个:exec(String command,String[] envp,File dir),在有指定环境和工作目录的独立进程中执行指定的字符串命令。
command - 一条指定的系统命令。
envp - 字符串数组,其中每个元素的环境变量的设置格式为 name=value;如果子进程应该继承当前进程的环境,或该参数为 null。
dir - 子进程的工作目录;如果子进程应该继承当前进程的工作目录,则该参数为 null。


------解决方案--------------------
java -cp D:\\ test.class
------解决方案--------------------
首先要调试出命令行的正确指令
java -cp d:/ Test
楼主说的,java d:\\Test运行不了,要看是什么异常,一般都是因为classpath不正确引起的。

然后在用Runtime.getRuntime().exec("java -cp d:/ Test");试试看。

楼主每次运行程序,出现问题的时候,要积极分析抛出的异常,根据堆栈来学习技术。