【问题标题】:Permission denied using ant and scp使用ant和scp拒绝权限
【发布时间】:2013-01-07 13:49:04
【问题描述】:

在我的 ant 文件中,我将一个 java war 文件 scp 到一个测试服务器。一切换到java 1.7,由于项目需求,ant文件抛出permission denied错误:

构建失败

C:\Users\jdoe\Documents\code\build2\projectName\build.xml:72: com.jcraf
t.jsch.JSchException: java.net.SocketException: Permission denied: connect
        at com.jcraft.jsch.Util.createSocket(Util.java:344)
        at com.jcraft.jsch.Session.connect(Session.java:194)
        at com.jcraft.jsch.Session.connect(Session.java:162)
        at org.apache.tools.ant.taskdefs.optional.ssh.SSHBase.openSession(SSHBas
e.java:223)

一旦我将 JAVA_HOME 环境变量切换回 Java 1.6,一切正常。

我已经尝试安装两个版本的 java 7(jdk1.7.0_03 和 jdk1.7.0_11),但是这两个版本都出现了相同的错误。

我的 build.xml 文件中的 scp 任务如下所示:

 <scp file="${name}.war" todir="${appserver.username}:${appserver.password}@${appserver.ipAddress}:${appserver.testTomcatLocation}" trust="yes"/>  

我有所需的 jar 文件,jsch-0.1.49.jar 位于我的 Ant 路径 @c:\Program Files(x86)\WinAnt\lib

为什么当我使用 Java 7 时 scp 不工作。提前致谢。

【问题讨论】:

    标签: java ant java-7 scp


    【解决方案1】:

    我想知道你是不是坐在公司防火墙后面?

    也许您的 Java 6 环境有一些您的新 Java 7 安装缺少的代理设置?

    【讨论】:

    • 我将战争文件传输到的服务器位于 VPN 后面
    • 我现在正在查看 JVM 文档,我看到了这个:java -Dhttp.proxyHost=webcache.mydomain.com -Dhttp.proxyPort=8080 -Dhttp.noProxyHosts=”localhost|host.mydomain。 com” GetURL proxyHost 是我要连接的服务器的ip地址吗?
    • @majid 如果服务器在 VPN 中运行,那么代理是公开给公共网络的 DMZ 主机是完全可行的。你确定已经设置了代理?我建议调查 Java6 的配置方式。如果您发现正在设置代理属性,您的问题将得到解答。
    【解决方案2】:

    问题与 Cisco AnyConnect VPN 客户端有关。原来我所要做的就是在 Windows 的 VPN 属性中禁用 IPv6,问题就消失了。这是互联网上对我有帮助的来源:http://jonathangiles.net/blog/?p=1126

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 2016-12-21
      • 2016-06-13
      • 2018-11-16
      • 2021-03-15
      • 2018-04-12
      • 2017-02-19
      • 2016-05-20
      • 2011-07-28
      相关资源
      最近更新 更多