我也想知道这个,我代码如下: try { Runtime.getRuntime().exec("Test.exe"); } catch (Exception ex) { ex.printStackTrace(); } 报错如下 java.io.IOException: CreateProcess: Test.exe error=2 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:63) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at java.lang.Runtime.exec(Runtime.java:428) at java.lang.Runtime.exec(Runtime.java:364) at java.lang.Runtime.exec(Runtime.java:326) ………………………
try {
Runtime.getRuntime().exec("Test.exe");
}
catch (Exception ex) {
ex.printStackTrace(); }
报错如下
java.io.IOException: CreateProcess: Test.exe error=2 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:63) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:566) at java.lang.Runtime.exec(Runtime.java:428) at java.lang.Runtime.exec(Runtime.java:364) at java.lang.Runtime.exec(Runtime.java:326)
………………………
只是简单的调用可执行程序,如果想要深入就要用jni和jini了
如果是基于分布式开发的话Corba是比较好好的解决方案,如果是本地Runtime.getRuntime().exec(exefilename);只能起调用作用,程序间不能交互。要想交互就要用JNI,但是JNI用了的话,对方的程序就不能跨平台了,当然整体框架做得好的话还是能在其他OS里面运行的,只是调用VC的这部分代码不能用了。
估计,你们开始设计系统的时候这么大的问题都没有考虑,现在来做,已经比较困难了。