我正在开发一个java web应用程序,需要在用户身份验证后将shell脚本传递给putty。仅当身份验证成功并且脚本已开始成功运行时,才应启动putty.exe。
此外,因为不同的用户可能在其系统上的不同位置安装了putty。有没有什么方法可以启动putty.exe而不需要用户手动配置路径。或者,是否可以通过编程找到路径并启动putty?
发布于 2012-09-04 22:43:34
我首先要说的是,不让用户将putty添加到路径中是最容易解决的问题,方法是为每个用户创建一个配置文件,其中一个参数将是putty可执行文件的位置。对于大多数用户来说,使用默认值和一个对话框(如果putty无法打开)来正确处理这个问题将是非常简单和熟悉的。
有两种简单的情况可能会完全扰乱搜索可执行文件的方式:用户重命名putty可执行文件,或者用户有多个版本的putty。
为了避免被第一种情况难住,你将不得不请求新的名称,并以某种方式将其保存在配置中。
为了避免被秒难住,你将不得不询问他们想要的putty版本,存储该版本,并以某种方式进行版本检查,如果你想做的只是查找putty.exe (也许你有一个每个版本的校验和文件)。
这就像是,如果不是比仅仅要求用户指向可执行文件更烦人(当然也更烦人)的话。事情也会有更多的地方出错。
基本上,搜索可执行文件是可能的,但它不会为任何人省去任何麻烦,只会为您制造更多的麻烦。让用户配置路径并不是很棘手,但如果你想避免它,那么最简单的事情就是让程序保存每个用户的配置文件,其中包含putty路径。
发布于 2012-09-04 22:26:35
一种方法是编辑用户计算机的PATH系统变量,并添加Putty.exe位置的完整路径。
另一种解决方案是在每个用户机器的默认文件夹中创建一个指向Putty.exe的链接,这样Java就可以在没有问题的情况下访问这个链接。
第三种解决方案可能是将Putty.exe与您的应用程序安装程序一起发布。Putty.exe不需要定制的DLL就能工作(至少我现在还不需要)。
发布于 2012-09-04 22:28:14
从理论上讲,如果您搜索用户计算机上的每个目录以找到putty.exe,则是可能的。但实际上,您应该要求将文件放在一些熟悉的目录中,或者使用环境变量。
https://stackoverflow.com/questions/12265508
复制相似问题