2014-05-07 30 views
8

Sono un novizio in Java EE 7.Impossibile avviare GlassFish 4.0 (Windows) - port 1527 - Indirizzo già in uso

ho Netbeans 7.4 con GlassFish 4.0 e Java EE 7. In un 64-bit Windows 8.1 Pro macchina. Voglio avviare il server GlassFish 4.0, quindi ho fatto clic sulla scheda servizi in Netbeans e quindi nell'opzione Server ho fatto clic con il pulsante destro del mouse su GlassFish Server 4.0 e ho fatto clic su Avvia.

Quando l'ho fatto, ho ricevuto il seguente messaggio: "Impossibile avviare GlassFish Server 4.0: la porta listener HTTP o HTTPS è occupata mentre il server non è in esecuzione". Ho anche il server IIS, ma l'ho fermato. Dopo aver fermato IIS, ho provato a riavviare GlassFish ma mi ha mostrato lo stesso messaggio.

Inoltre v'è una finestra in Netbeans chiamato uscita - Java DB Process Database e mi ha mostrato il seguente:

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 

ho eseguito una netstat in Windows per vedere cosa stava succedendo con il 1527 porta e quella porta è in modalità ASCOLTO.

Quindi, come posso sapere quale applicazione o processo sta supponendo la porta 1527?

Grazie per il vostro aiuto !!

risposta

13

Per trovare il processo che mantiene il porto occupato, provare il seguente comando:

netstat -ano | find "1527" 

Questo mostrerà una linea con il porto e l'identificativo del processo. es .:

TCP 127.0.0.1:1527   0.0.0.0:0    LISTENING  2268 

Una volta ottenuto l'ID del processo (ad esempio 2268), eseguire il seguente comando per il rilascio del porto (questo ucciderà il processo):

taskkill /F /PID 2268 

Ora, provare ad avviare Glassfish.


Su Linux:

lsof -Pnl +M -i6 | grep 1527 

produce:

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

ucciso con:

kill -9 31139 

Se si desidera conoscere il programma associato, vedere How do I find out what service is using a certain port?

3

Questo non è un errore che è necessario preoccuparsi. Quando avvii GlassFish, NetBeans avvierà anche il database JavaDB (aka, Derby), che è in ascolto sulla porta 1527 per impostazione predefinita. Quando si spegne NetBeans, si spegnerà GlassFish ma non si spegnerà JavaDB. Pertanto, quando si avvia NetBeans una seconda volta, NetBeans tenterà di riavviare JavaDB e fallirà perché è già in esecuzione e in ascolto sulla porta 1527.

Per arrestare il database, è possibile utilizzare i servizi NetBeans (scheda) - > Database> JavaDB (clic destro-> Arresta server.Per spegnere dalla riga di comando utilizzare $ NETBEANS_HOME/glassfish-4.0/javadb/bin/stopNetworkServer, dove $ NETBEANS_HOME è la directory di livello superiore in cui è installato NetBeans (almeno su Mac/Linux/Unix).

4

Se quanto sopra non funziona per nessuno pls seguire le istruzioni riportate di seguito .. sicuro che funzionerà ..

  1. Vai a C: \ Program Files \ GlassFish-4.1 \ GlassFish \ domini \ domain1 \ config

  2. Open "domain.xml" in un editor XML o u possibile utilizzare notepad ++

  3. Find "8080" (qui di seguito evidenziato per ur riferimento)

    porta di rete all'ascoltatore =" "protocol =" http-ascoltatore-1" trasporto = "tcp" name = "http-ascoltatore-1" filo-pool = "http-thread-pool" enter image description here

  4. sostituire "8080" con qualsiasi porta aperta. Se non sai come trovare la porta aperta provare ad utilizzare la porta non "3702", quindi salvare il file

  5. ora eseguire il progetto

Dopo aver eseguito il progetto si prega di avere un occhio sul URL

http://localhost:8080/ ...... dovrebbe essere http://localhost:3702/ .....

Per avere le porte aperte seguono il seguito passi

  1. aperta cmd.exe

  2. eseguire cmd "-ano netstat"

Sceglietene uno qualsiasi che si trova è gratuito (come all'interno della scatola verde sopra) enter image description here