Java 7可以在Windows Vista和7(如果启用了防火墙)上阻止FTP传输。有任何想法吗?
Java 7阻止Windows Vista和7上的FTP传输。 在FTP中,在传输文件之前,必须先发送PORT或PASV命令。一旦发送了其中一个命令,Windows防火墙就会关闭发送该命令的套接字。仅当防火墙处于打开状态并且不存在java.exe异常时,才会发生这种情况。我怀疑此问题与使用新的Vista IP堆栈的Java 7有关。 有谁知道如何解决或解决此问题的想法?我们正在分发Java FTP库,因此我们显然不能自己添加异常。 例外: java.net.SocketException: Permission denied: recv failed JRE版本信息: java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) 后续行动1(2011年11月14日): Oracle分析了该问题,并发现这似乎是Windows防火墙和/或IPv6堆栈中的错误。他们设法通过本机C(即非Java)应用程序复制了该问题,因此有力证据表明该错误不在Java中。他们已经通知了Microsoft,所以现在就在法庭上。可以在http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696中找到更多详细信息。 跟进2(2012年7月27日): Oracle的一个联系人(非常有帮助)告诉我,该问题现在已在Microsoft上报。我们希望很快能看到一些结果。 后续行动3(2012年8月15日): 我们与Oracle的联系告诉我们,Microsoft已接受该错误,并且正在对它进行优先级排序。 后续行动4(2012年9月21日): Microsoft已生产了一个补丁程序,目前正在Oracle对其进行测试。发布日期无消息。 跟进5(2012年10月11日): 终于成功了!Microsoft已公开发布了此修补程序。他们暗示此修复程序将在将来包含在常规软件更新中: “如果此问题没有对您造成严重的影响,我们建议您等待包含此修补程序的下一个软件更新。”