Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从运行在Tomcat上的Spring控制器使用Runtime.getRuntime().exec调用基于.Net窗口的应用程序_Java_.net_Tomcat_Jboss_Runtime.exec - Fatal编程技术网

Java 从运行在Tomcat上的Spring控制器使用Runtime.getRuntime().exec调用基于.Net窗口的应用程序

Java 从运行在Tomcat上的Spring控制器使用Runtime.getRuntime().exec调用基于.Net窗口的应用程序,java,.net,tomcat,jboss,runtime.exec,Java,.net,Tomcat,Jboss,Runtime.exec,我通过Spring控制器调用一个名为myapp.exe的exe文件;以下是控制器中的代码: Runtime.getRuntime().exec(“D:\vmd\apps\myapp.exe”) myapp.exe是一个C#.NET应用程序。如果我使用Windows资源管理器直接单击myapp.exe,应用程序将打开并运行;但是,如果我通过Tomcat中的Spring控制器调用该命令,则应用程序不会打开;但是,当我打开任务管理器时,我可以看到myapp.exe进程正在运行。但是,myapp.exe

我通过Spring控制器调用一个名为myapp.exe的exe文件;以下是控制器中的代码: Runtime.getRuntime().exec(“D:\vmd\apps\myapp.exe”)

myapp.exe是一个C#.NET应用程序。如果我使用Windows资源管理器直接单击myapp.exe,应用程序将打开并运行;但是,如果我通过Tomcat中的Spring控制器调用该命令,则应用程序不会打开;但是,当我打开任务管理器时,我可以看到myapp.exe进程正在运行。但是,myapp.exe的窗口不会打开。在JBoss中,通过Spring控制器成功调用应用程序。有人知道为什么.NET应用程序不能通过Tomcat打开吗


Tomcat是作为服务安装的。当使用startup.bat文件手动启动Tomcat,然后从Tomcat webapp内的链接调用myapp.exe时,myapp.exe将成功启动。但是,我不确定Tomcat作为服务启动是否会阻止myapp.exe正常运行,因为当JBoss作为服务启动时,myapp.exe成功启动。

在Windows中,作为服务运行的进程无法访问普通用户桌面。而且,由于由服务启动的程序继承了此属性,因此通常也不允许它访问桌面

正如您所说,Tomcat是作为服务运行的,我认为这就是问题的原因。很抱歉,目前找不到适用于此的参考


为什么不在用户会话中自动启动.NET应用程序?您可以通过套接字连接到Tomcat,等待某种启动信号到达,然后触发应用程序主窗口的映射。

Tomcat是否作为Windows服务运行?我认为服务无法在桌面上启动应用程序。