概述Runtime.getruntime中没有打开notepad.exe的问题是什么?
当尝试执行包含以下代码的servlet时
Runtime rt = Runtime.getRuntime(); Process p = rt.exec(\”notepad.exe\”);
它不会在windows Server 2003和Tomcat 5环境中启动应用程序,而是在windows任务pipe理器中创build一个名为notepad.exe的进程。
在windows XP和Tomcat 6环境下启动记事本
我需要在windows Server 2003和Tomcat 5上工作
你怎么能发送信息到windows的任务栏从Java或javafx
如何确定WPF窗口是否打开?
WinAPI DestroyWindow不能正常工作
从剪贴板中读取权限被拒绝
如何在同一networking中的两台不同的机器上安装WPF应用程序
提前致谢
如何以编程方式打开windows *** 作系统中的“networking发现”?
Python的BasehttpServer:如何让它停止?
将节点添加到树视图中的特定父节点(c#)
如何从Web应用程序获取桌面通知?
在NT系统之前调用NT函数
换句话说,它会在你的本地开发机器(WinXP + Tomcat6)上启动,而不是在生产/测试服务器(Win2K3 + Tomcat5)上启动。
您是否意识到Java Servlet代码在服务器机器上运行,而不是在客户端机器上运行,在现实世界中,通常是由网络连接的两台物理上不同的机器? 记事本在服务器机器(运行网络服务器(Tomcat)的地方)打开,而不是在客户端机器(运行网页浏览器的地方)打开。 它在本地开发环境中工作,只是因为webserver和webbrowser运行在同一台机器上。
登录到你的Win2K3环境,你会看到记事本在那里打开。
如果你真的打算在客户端机器上使用Runtime#exec()来启动notepad.exe (我没有看到任何的商业原因,但是除此之外),那么你需要为客户端提供一个Java应用程序由HTML / JsP页面提供的Applet或Web Start应用程序 。 这将被下载到客户端机器,并将在那里执行。
如果你能告诉我们启动notepad.exe的需求,那么我们可以给你一个解决方案/方法。
我认为你的tomcat作为后台服务运行。 当运行记事本时,它将与您的tomcat运行的相同的登录执行。 最有可能的是,这是一个不同的登录比你的桌面登录,因此记事本将不会显示在该桌面!
在你的开发环境中,你通过直接执行包装器脚本来启动tomcat。 尝试安装它作为一项服务,你会得到与XP相同的问题。
顺便说一句:我没有看到运行一个Appserver并在服务器上调用notpad 的一点 。 你真的确定这个设计吗?
总结
以上是内存溢出为你收集整理的Runtime.getruntime中没有打开notepad.exe的问题是什么?全部内容,希望文章能够帮你解决Runtime.getruntime中没有打开notepad.exe的问题是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容