从java代码调用脚本

从java代码调用脚本,java,jsp,unix,ssh,Java,Jsp,Unix,Ssh,我试图运行一台unix服务器中的jsp文件,它试图通过一个java代码执行ssh来执行另一台unix服务器中的python,我将该代码放在jsp文件中的scriptlet标记中,该文件只有用户名和主机IP地址以及python脚本的远程路径。 我的问题是进程变量中存在的cmd没有被执行,它正在进入try块,但没有执行cmd。有没有办法纠正它。 请任何人帮帮我 下面是我的代码 try { Process p = Runtime.getRuntime().exec("loginusername log

我试图运行一台unix服务器中的jsp文件,它试图通过一个java代码执行ssh来执行另一台unix服务器中的python,我将该代码放在jsp文件中的scriptlet标记中,该文件只有用户名和主机IP地址以及python脚本的远程路径。 我的问题是进程变量中存在的cmd没有被执行,它正在进入try块,但没有执行cmd。有没有办法纠正它。 请任何人帮帮我

下面是我的代码

try {
Process p = Runtime.getRuntime().exec("loginusername loginusername@hostipaddress /path/python.py");
BufferedReader in = new BufferedReader(
                                new InputStreamReader(p.getInputStream()));
            String line = null;
            while ((line = in.readLine()) != null) 
           {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

loginusername
应该做什么?如果没有具有此名称的程序,您的exec调用将失败。@当我们登录到unix计算机时,使用了loginusername(我们有代码),例如:Process p=Runtime.getRuntime().exec(“abc”)abc@hostipaddress/path/python.py”);,那么只有我们才能获取代码并执行主机上的文件,所以这个abc程序存在,并且这个命令在从shell运行时有效?@Marged是的,我正在通过java代码(存在于一台unix机器中)执行ssh到另一台unix机器,建立连接后,我必须调用并执行其中的python脚本并获取值。但我无法连接或执行ssh,因此Runtime.getRuntime.exec中的cmd present不起作用:(,是否有其他连接和调用脚本的方法。请帮助我想你的问题以前已经回答过很多次了,请看这里:或者如果你需要其他方法,请自己搜索