web-dev-qa-db-ja.com

GlassFish 4.0(Windows)を起動できませんでした-ポート1527-アドレスはすでに使用されています

私はJava EE7の初心者です。

GlassFish4.0とJava EE 7.64ビットWindows8.1ProマシンでNetbeans7.4を使用しています。GlassFish4.0サーバーを起動したいので、Netbeansの[サービス]タブをクリックし、次に、「サーバー」オプションで「GlassFish Server 4.0」を右クリックし、「開始」をクリックしました。

これを行うと、「GlassFish Server 4.0を起動できませんでした:サーバーが実行されていないときにHTTPまたはHTTPSリスナーポートが占有されています」というメッセージが表示されました。 IISサーバーもありますが、停止しました。停止後IIS GlassFishを再起動しようとしましたが、同じメッセージが表示されました。

また、Netbeansには出力-Java DBデータベースプロセスというウィンドウがあり、次のように表示されます。

Tue May 06 22:03:11 GMT-05:00 2014 : Security manager installed using the Basic server security policy.
Tue May 06 22:03:11 GMT-05:00 2014 Thread[main,5,main] Java.io.FileNotFoundException: D:\Users\Juan Jose\.netbeans-derby\derby.log (Access is denied)
Tue May 06 22:03:12 GMT-05:00 2014 : Could not listen on port 1527 on Host localhost:
 Java.net.BindException: Address already in use: JVM_Bind
Tue May 06 22:03:12 GMT-05:00 2014 : Could not listen on port 1527 on Host localhost:
 Java.net.BindException: Address already in use: JVM_Bind

Windowsでnetstat-aを実行して、1527ポートで何が起こっているかを確認し、そのポートがLISTENINGモードになっていることを確認しました。

では、どのアプリケーションまたはプロセスが1527ポートを占有しているかをどのように知ることができますか?

ご協力いただきありがとうございます !!

プロセスを見つけるには1 ビジーポートを維持するには、次のコマンドを試してください。

netstat -ano | find "1527"

これにより、プロセスのポートと識別子を含む行が表示されます。例えば。:

TCP    127.0.0.1:1527         0.0.0.0:0              LISTENING       2268

プロセスIDを取得したら(例:2268)、次のコマンドを実行してポートを解放します(これによりプロセスが強制終了されます):

taskkill /F /PID 2268

それでは、Glassfishを起動してみてください。


Linuxの場合:

lsof -Pnl +M -i6 | grep 1527

生産:

Java    31139     1001   32u  IPv6 114916062      0t0  TCP 127.0.0.1:1527 (LISTEN)

殺された:

kill -9 31139

1 関連するプログラムについて知りたい場合は、 特定のポートを使用しているサービスを確認するにはどうすればよいですか? を参照してください。

16
Paul Vargas

上記がだれにも機能しない場合は、以下の手順に従ってください。確かに機能します。

  1. C:\ Program Files\glassfish-4.1\glassfish\domains\domain1\configに移動します

  2. Xmlエディターで「domain.xml」を開くか、notepad ++を使用できます

  3. 「8080」を見つけます(参考のために以下を強調表示しています)

    network-listener port = "8080" protocol = "http-listener-1" transport = "tcp" name = "http-listener-1"スレッド-pool = "http-thread-pool" enter image description here

  4. 「8080」を開いているポートに置き換えます。開いているポートを見つける方法がわからない場合は、ポート番号「3702」を使用して、ファイルを保存してください。

  5. プロジェクトを実行します

プロジェクトを実行した後、URLを確認してください

http:// localhost:8080 / ......である必要があります http:// localhost:3702 / .....

開いているポートを取得するには、次の手順に従います

  1. cmd.exeを開く

  2. cmd "netstat-ano"を実行します

あなたが無料だと思うものを選んでください(上の緑色のボックスの中のように) enter image description here

4
TechDog

これはあなたが心配する必要のあるエラーではありません。 GlassFishを起動すると、NetBeansはJavaDB(別名Derby)データベースも起動します。このデータベースは、デフォルトでポート1527でリッスンします。 NetBeansをシャットダウンすると、GlassFishはシャットダウンされますが、JavaDBはシャットダウンされません。したがって、NetBeansを2回起動すると、NetBeansはJavaDBを再度起動しようとしますが、ポート1527ですでに実行およびリッスンしているため、失敗します。

データベースをシャットダウンするには、NetBeansサービス(タブ)->データベース-> JavaDB(右クリック->サーバーの停止)を使用できます。コマンドラインからシャットダウンするには、$ NETBEANS_HOME/glassfish-4.0/javadb/bin/stopNetworkServerを使用します。ここで、$ NETBEANS_HOMEは、NetBeansがインストールされている最上位のディレクトリです(少なくともMac/Linux/Unixでは)。

3
John Clingan