首页 > 解决方案 > Ganymed SSH2 JAVA,提示:找不到命令

问题描述

Ganymed ,execCommand("java -version") Tips:bash: java: command not found 但是我用的是Shell工具,可以获取java版本。ganymed获取不到本地环境变量?我该怎么做?

标签: ganymede

解决方案



这个问题的原因是缺少环境变量。你可以试试下面的代码来解决。

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();
        }
    }
}

推荐阅读