FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Hudsonでjava.net.BindExceptionが出た場合の対処方法

 今日はHudsonの設定の続きを書くつもりだったが、Hudsonとjava.net.BindExceptionで検索されてきている人がいたので、java.net.BindExceptionがでた場合の対処をもう少し詳しく書いておきます

参考:Hudsonで出たエラー
  [Winstone 2009/xx/xx xx:xx:xx] - Error during HTTP listener init or shutdown
  java.net.BindException: Address already in use: JVM_Bind



java.net.BindExceptionがでた場合はポートが既に使用されている場合がほとんど。
この場合の対処は大きく2つ

1.使用するポートを変更する
2.ポートを使用しているプロセスを終了させる


使用するポートを変更する
 java -jar hudson.zip --httpPort=8081

 というように、--httpPort=xxxx と指定してやればいい。
 当然、接続時には指定したポート番号を指定すること。

 このほか、hudsonのオプションは hudson.zip のあとに --help とつければ確認できる。

ポートを使用しているプロセスを終了させる。
 とりあえず、何が使用しているかを特定する必要がある。

1.ポートを使用しているプロセスを特定する
 Hudsonはデフォルトでは 8080番ポートを使用する。
 なんで、まずコマンドプロンプトを管理者モードで起動。
 で、下記コマンドを実行

 netstat -aob

 すると、以下のようにポートを使用している一覧がずらずら表示される
TCP 127.0.0.1:6999 HOME-NOTE:50229 ESTABLISHED 2320  [TmProxy.exe]
TCP 127.0.0.1:8080 HOME-NOTE:50230 ESTABLISHED 5772 [java.exe]
TCP 127.0.0.1:27015 HOME-NOTE:0 LISTENING 328  [AppleMobileDeviceService.exe]


 ポート8080を探すと、どうやらjava.exeが使用しているらしい。

 この時点で使用しているのが何かわかれば、そのアプリを止めるなりすればOK。
 ただ、今回のようにアプリ名だけでは何かわからない場合もある。

2.java.exeが何かを特定する。
 java.exeが何者かを調べる。

 まずは、タスクマネージャを起動して、プロセスタブを選択

 画面上部のメニューから「表示」→「列の選択」をクリック。
 表示されるメニューから「PID」と「コマンドライン」にチェックをいれて「OK」
 
 画面下部の「全ユーザのプロセスを表示する」をチェック

タスクマネージャ設定1


 
 すると、PIDと実行時のコマンドラインが表示される。
 コマンドライン引数の実行しているjarファイルを確認すれば、何が使用しているかを特定できる。

タスクマネージャ設定2


3.それでも特定できない場合
 2で確認したコマンドラインにjarの指定がない場合もある。
 これは少々やっかい。
 何かいい方法はあるのでしょうか?

 とりあえず、コマンドラインのjavaの引数内に、wrapper.jarなどとある場合は、Java Service Wrapperを使用してサービス化した何かの可能性が高い。
 心当たりがあれば、そのサービスを停止してプロセスが終了するか確認する。

 これでも特定できない場合は、素直にhudson側のポート番号を変更したほうが良いかもしれない。


以上。
スポンサーサイト

テーマ : ソフトウェア
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
08 | 2018/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。