Ganymed SSH2 JAVA,提示:找不到命令

时间:2019-01-22 02:34:32

标签: ganymede

Ganymed,execCommand(“ java -version”) 提示:bash:java:找不到命令 但是我使用Shell工具,可以获得Java版本。 ganymed无法获得本地环境变量? 我该怎么办?

1 个答案:

答案 0 :(得分:0)


此问题的原因是缺少环境变量。您可以尝试以下代码来解决。

public void execNoReturnRemoteCommand(String command, long timeout)
        throws Exception {
    Connection conn = getConnection();
    Session session = null;
    try {
        session = conn.openSession();
        session.requestPTY("bash");
        session.startShell();
        PrintWriter out = new PrintWriter(session.getStdin());
        out.println(command);
        out.println("exit");
        out.close();
        session.waitForCondition(ChannelCondition.CLOSED | ChannelCondition.EOF | ChannelCondition.EXIT_STATUS, timeout*1000);
    } finally {
        if (session != null) {
            session.close();
        }
        if (conn != null) {
            conn.close();
        }
    }
}