1. ホーム
  2. windows

Java 7は、Windows Vistaおよび7でファイアウォールがオンの場合、FTP転送を妨げます。何かアイデアはありますか?

2023-10-25 20:26:01

質問

Java 7 は、Windows Vista および 7 上で FTP 転送を妨げます。

FTP では、ファイルが転送される前に、PORT または PASV コマンドが送信されなければなりません。 コマンドの 1 つが送信されるとすぐに、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)


FOLLOW-UP 1 (2011年11月14日)。 Oracle がこの問題を分析した結果、Windows ファイアウォールおよび/または IPv6 スタックのバグであることが判明しました。 彼らはネイティブC(つまり非Java)アプリで問題を再現することができたので、バグがJavaにないことの強力な証拠になります。 彼らはマイクロソフトに報告したので、ボールは彼らのコートにあります。 詳細は以下の通りです。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696

FOLLOW-UP 2 (2012年7月27日)。 Oracle の (非常に親切な) 担当者によると、この問題は現在 Microsoft でエスカレーションされているとのことです。 私たちは、近いうちに何らかの結果が得られることを期待しています。

FOLLOW-UP 3 (2012年8月15日)。 Oracle の担当者によると、Microsoft はこのバグを受け入れ、優先順位をつけている最中とのことです。

FOLLOW-UP 4 (2012年9月21日)。 マイクロソフトはパッチを作成し、現在オラクルによってテストされています。 リリース日については不明です。

FOLLOW-UP 5 (2012年10月11日)。 ついに成功! マイクロソフトが公開したのは ホットフィックス . 彼らは、この修正が将来の一般的なソフトウェア アップデートに含まれることを暗示しています。

この問題によって深刻な影響を受けていない場合は、この修正プログラムを含む次回のソフトウェア アップデートを待つことをお勧めします。

どのように解決するのですか?

Windows の修正プログラムをテストしました。 http://support.microsoft.com/kb/2754804 をテストし、問題が解決されることを確認しました。