无法使用SSHEXEC从Linux调用Windows中的远程脚本

时间:2010-05-18 10:11:17

标签: ant

我在Windows环境中设置了OpenSSH,并希望从Linux环境调用ANT脚本。但是我收到了以下错误:

$ ant -f invoke.xml
Buildfile: /home/inysi/jpegu/cdt/tmp/invoke.xml
run:
  [sshexec] Connecting to ******
  [sshexec] cmd : ant -f build.xml
  [sshexec] uname: not found
  [sshexec] basename: not found
  [sshexec] dirname: not found
  [sshexec] Error: JAVA_HOME is not defined correctly.
  [sshexec]   We cannot execute java
  [sshexec] which: not found

BUILD SUCCESSFUL
Total time: 2 seconds

但是,我可以使用Windows中的SSHEXEC在Linux环境中调用远程ANT脚本。

能告诉我,可能是什么问题。 JAVA_HOME设置在windows环境变量中。在Windows环境中设置JAVA_HOME的位置。在Windows中是否有类似于.bash_profile的东西。所以ANT过程可以把它拿起来。

2 个答案:

答案 0 :(得分:0)

看起来您正在连接到没有正确设置其环境的用户帐户,因为它找不到任何标准命令。

为我们提供更好的invoke.xml示例可能有所帮助。

答案 1 :(得分:0)

invoke.xml文件: sshexec host =“windows.host”username =“Test”password =“test123”trust =“true”command =“ant -f build.xml

我在Windows主机中创建了用户“Test”。我可以调用其他命令,例如“java -version或java classname”。但只有当我尝试在Windows中运行ANT脚本时,它才会出现错误“JAVA_HOME未定义”。

看起来在SSH服务器端创建的用于调用命令的shell无法访问用户环境变量“JAVA_HOME”。