9

netbeans IDE 7.3.1 からデフォルト設定で Glassfish サーバーを起動しようとすると、次のエラーが発生します。

java.net.BindException: Address already in use: bind

詳細: http://ideone.com/wKbat3

私に何ができる?glassfish のアドレスをクリアするにはどうすればよいですか? 別のアドレスを使用するようにglassfishを設定するにはどうすればよいですか? この文脈で「住所」とはどういう意味ですか?

4

3 に答える 3

13

主な理由は、別のサーバーがポート 8080 を使用していることです。これはデフォルトのポートです (これらのポートがコマンド ラインで使用されているかどうかを Windows で確認するには: netstat -a -o)。

次のように変更する必要があります。

/glassfish/domains/domain1/config/domain.xml

変化する: name="http-listener-1" **port="8080"** name="http-listener-2" **port="8181"**

に: name="http-listener-1" **port="9090"** name="http-listener-2" **port="9191"**

次に、サーバーをフレームワーク (Eclipse など) から削除し、閉じてから起動し、Glashfish を再度追加します。

フレームワークを開始する前に、次のようなファイルがないことを確認してください。 /glassfish/domains/domain1/osgi-cache/felix/*.lock

存在する場合は削除します。削除する Java プロセスを停止することができます。

これらの手順はうまくいきました。

于 2014-10-14T09:02:09.547 に答える
4

Glassfish サーバーに割り当てられたポートの 1 つを別のサーバーが使用しているようです。

私の場合、例外が発生しましたSEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"] java.net.BindException: Address already in use: JVM_Bind <null>:8009

私のPCですでに実行されている、忘れられたTomcatインスタンスであることが判明しました。忘れたものを無効にすると、例外はなくなりました。

したがって、あなたの場合、グラスフィッシュサーバーが使用するポートを他のサーバーが占有しています。それがどのサーバーであるかを見つけて停止するか、別のポートを Glassfish サーバーに割り当てます。

Windows を使用している場合は、次のnetstat -a -oコマンドを使用して、魔女プロセスがポート番号を使用することを確認できます。

特定のポートで実行されているプロセスを見つける方法の詳細については、このガイドも参照してください

于 2013-06-26T10:56:51.177 に答える
2

/glassfish/domains/domain1/config/domain.xml を見てください。このようなセクションが見つかるはずです。

<network-listeners>
              <network-listener name="http-listener-1" port="8080" protocol="http-listener-1" thread-pool="http-thread-pool" transport="tcp"/>
              <network-listener name="http-listener-2" port="8181" protocol="http-listener-2" thread-pool="http-thread-pool" transport="tcp"/>
              <network-listener name="admin-listener" port="4848" protocol="admin-listener" thread-pool="admin-thread-pool" transport="tcp"/>
</network-listeners>

これらは、glassfish が開く必要があるポートである必要があります。私の場合、ポート 8181 が別のプロセスで既に使用されているため、同じエラーが発生しました。ポートを 8187 に変更したところ、すべて正常に機能しました。それ以外の場合は、(Windows の場合は netstat -a -b) を見つけて、glassfish を開始する前にこれらのポートを使用しているプロセスを停止する必要があります。

于 2014-10-09T06:58:55.953 に答える