我正在尝试使用以下代码从Java(eclipse rcp插件)启动Windows窗体应用程序。
// locate resource in plugin
Bundle bundle = Platform.getBundle("com.acme.devicewebservice");
URL url = FileLocator.find(bundle, new Path("dotnet"), null);
url = FileLocator.resolve(url);
File f = new File(url.toURI());
if(f.isDirectory())
{
// start app
File prg = new File(f, "MyApp.exe");
ProcessBuilder pb = new ProcessBuilder(prg.getAbsolutePath(), "-port", "8081");
pb.directory(f);
pb.environment().put("PATH", f.getAbsolutePath());
process = pb.start();
}
流程开始但应用程序未出现。
如果我开始notepad.exe
,则会出现记事本。
ProcessBuilder pb = new ProcessBuilder("notepad.exe");
如果我使用适用的cmd
启动应用程序,但我从未获得应用的Process
对象。
ProcessBuilder pb = new ProcessBuilder("cmd", "/C", "start", prg.getAbsolutePath());
这是Java还是Windows应用程序的问题?我有两个来源。
更新 上面的应用程序是一个eclipse富客户端。我尝试从一个简单的Java应用程序启动该过程,这是有效的。然后我尝试从一个简单的SWT应用程序启动它,这也有效。现在想知道富客户端应用程序有什么不同......