mavenやEclipseでプラグインリポジトリに繋がらない件、解消

自宅ネットワーク関連で詰まっていたことがようやく解消されたので、ここに経緯も含めてメモしておく。
いや〜、なんとまぁ基礎的な部分に気付けなかったことか。。。

経緯

日記「開発クライアントの作成&m2e - oknknicの日記」でSeasar2開発環境を整えたが、
SAStrutsプロジェクト(by Dolteng)をデプロイしたtomcatを起動すると、以下のエラー。

致命的: フィルタ routingfilter の起動中の例外です
java.lang.ClassNotFoundException: org.seasar.struts.filter.RoutingFilter

とりあえず上記クラスを型検索してみると、型は見つかった。
Mavenリポジトリ内にあるjarに入っているようだ。

Mavenリポジトリ内のjarは、 Maven Dependencies という括りで、ビルドパスに含まれている。
しかしこれは、Tomcatからは見えていないようだ。
(実際、プロジェクト/src/main/webapp/WEB-INF/lib 内には、該当のjarは存在しない)

そこで、以下のコマンドでぶちこんでやれば良いのではと考えた。

mvn dependency:copy-dependencies -DoutputDirectory=.\src\main\webapp\WEB-INF\lib

これが恐怖の始まりだった。
プラグインダウンロードの途中でフリーズ。。
以下のプロンプトが出て、43336から進まない。しかも、やり直す毎に、とまるタイミングはマチマチ。なんだこれは。。

Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.0/maven-dependency-plugin-2.0.jar

しかも、上記URLをWebブラウザからアクセスすると、あっさりダウンロードできる。マジどういうこと!?

netstat で状態を確認すると、ESTABLISHの状態が続いている。
これじゃわからん。
てことで、Wiresharkでパケットレベルで見る。
すると・・・

 TCP ZeroWindow」を送り、「TCP Keep-Alive」が返ってくる、という流れを繰り返している。

何じゃこりゃ。
ってことで、「TCP ZeroWindow」を軽くぐぐると、以下のページ。

「ウィンドウが一杯だから待ってくれ」って送ってる感じか。何故・・・

とりあえずウィンドウサイズを上げる方法でも調べるか。ってことで、下記ページ。

う〜ん、ウィンドウサイズは手動設定できなくなったようだ。

駄目モトで、mvn実行時のメモリサイズを上げてみる。

set MAVEN_OPTS=-Xmx2048M

変化なし。。
まぁ、TCPレベルの話だから当たり前か。

う〜ん、う〜ん、、う〜〜〜〜ん、、、、

ってところで、解決不能な問題から逃げるように、Seasar2から離れていっていた。。

時は経ち、今回、Railsを触る機会にあたった。
gemも何の問題もなく動作してくれ、気分は上々だった。
しかし、EclipseAptanaプラグインを入れようとしたとき、あの恐怖が再燃。。。
そう、「TCP ZeroWindow」だ。
しかも状況はさらに重なって、対象のファイル(content.jar)はWEBブラウザからはあっさりダウンロードできる。

打ちひしがれた。。。

が、今回は一筋の光が・・・

ほうほう。FTPがパッシブモードになってないと駄目なのか。

ほうほう、ここをこうして・・・
って、パッシブモードになってるしorz。。。
てかFTPじゃなくてHTTPで通信してるし、関係ないやん。。
短い光だった。

だが、ここで気付いた。
そう、共通点がある。
Webブラウザからは見れて、それ以外のHTTPクライアントからは見えない。
やはり、ポートの問題としか考えられん。

そういえば、このノートPC買って真っ先にセキュリティソフトのAVG入れたな。
・・・!!??

AVG>ツール>高度な設定>一時的にAVG保護を無効にする

で、でで、ででで出来たーーーーーーーーーーー!!!!

結論

ネットワーク周りで何故か繋がらんとかあったら、
とりあえずセキュリティソフトを無効にして、問題切り分けしよ♪
(※ただし、脅威にさらされるリスクを十分に認識しておくこと)