我在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过程可以把它拿起来。
答案 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”。