2014-05-07 22 views
8

Tôi là người mới trong Java EE 7.Không thể khởi động GlassFish 4.0 (Windows) - cổng 1527 - Địa chỉ đã được sử dụng

Tôi có Netbeans 7.4 với GlassFish 4.0 và Java EE 7. Trong 64 bit Máy Windows 8.1 Pro. Tôi muốn bắt đầu máy chủ GlassFish 4.0, vì vậy tôi đã nhấp vào tab dịch vụ trong Netbeans và sau đó trong tùy chọn Máy chủ, tôi bấm chuột phải vào GlassFish Server 4.0 và sau đó bấm Bắt đầu.

Khi tôi làm điều đó, tôi nhận được thông báo sau: "Không thể khởi động GlassFish Server 4.0: cổng nghe HTTP hoặc HTTPS bị chiếm đóng trong khi máy chủ không chạy". Tôi cũng có máy chủ IIS, nhưng tôi đã dừng nó. Sau khi ngừng IIS tôi đã cố gắng để bắt đầu lại GlassFish nhưng nó cho tôi thấy cùng một thông điệp.

Ngoài ra còn có một cửa sổ trong Netbeans gọi Output - Java DB Database Process và nó chỉ cho tôi như sau:

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 

Tôi chạy một netstat-a trong Windows để xem những gì đang xảy ra với 1527 cổng và cổng đó đang ở chế độ LISTENING.

Vậy làm thế nào tôi có thể biết ứng dụng hoặc quy trình nào đang chuyển đổi cổng 1527?

Cảm ơn sự giúp đỡ của bạn !!

Trả lời

13

Để tìm thấy quá trình mà giữ cảng bận rộn, hãy thử các lệnh sau:

netstat -ano | find "1527" 

này sẽ hiển thị một dòng với cổng và nhận dạng của quá trình. ví dụ .:

TCP 127.0.0.1:1527   0.0.0.0:0    LISTENING  2268 

Một khi bạn có quá trình ID (ví dụ 2268), hãy chạy lệnh sau đây để phát hành cảng (điều này sẽ giết chết quá trình):

taskkill /F /PID 2268 

Bây giờ, hãy thử để bắt đầu Glassfish.


Trên Linux:

lsof -Pnl +M -i6 | grep 1527 

Tạo:

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

Killed với:

kill -9 31139 

Nếu bạn muốn biết chương trình liên quan, hãy xem How do I find out what service is using a certain port?

3

Đây không phải là lỗi bạn cần phải lo lắng. Khi bạn khởi động GlassFish, NetBeans cũng sẽ khởi động cơ sở dữ liệu JavaDB (aka, Derby), mặc định lắng nghe cổng 1527. Khi bạn tắt NetBeans, nó sẽ tắt GlassFish nhưng sẽ không tắt JavaDB. Do đó, khi bạn khởi động NetBeans lần thứ hai, NetBeans sẽ cố gắng khởi động JavaDB lần nữa và thất bại vì nó đã chạy và nghe trên cổng 1527.

Để tắt cơ sở dữ liệu, bạn có thể sử dụng Dịch vụ NetBeans (Tab) - > Cơ sở dữ liệu-> JavaDB (nhấp chuột phải-> Dừng máy chủ.Để tắt từ dòng lệnh sử dụng $ NETBEANS_HOME/glassfish-4.0/javadb/bin/stopNetworkServer, trong đó $ NETBEANS_HOME là thư mục cấp cao nhất nơi NetBeans được cài đặt (ít nhất là trên Mac/Linux/Unix).

4

Nếu ở trên không làm việc cho bất cứ ai xin làm theo các bước dưới đây .. chắc chắn nó sẽ làm việc ..

  1. Đến C: \ Program Files \ glassfish-4.1 \ glassfish \ lĩnh \ domain1 \ config

  2. Open "domain.xml" trong một trình soạn xml hoặc u có thể sử dụng notepad ++

  3. Find "8080" (sau đây đánh dấu cho ur tham khảo)

    cổng mạng-listener =" "giao thức =" http-nghe-1" vận chuyển = "tcp" name = "http-nghe-1" thread-pool = "http-thread-pool" enter image description here

  4. Thay thế "8080" với bất kỳ cổng mở. Nếu bạn không biết làm thế nào để tìm ra cổng mở cố gắng sử dụng cổng không "3702" sau đó lưu tập tin của bạn

  5. bây giờ chạy dự án của bạn

Sau khi chạy dự án xin vui lòng có một mắt trên URL

http://localhost:8080/ ...... nên http://localhost:3702/ .....

Để có được cổng mở theo dưới đây bước

  1. mở cmd.exe

  2. thực hiện cmd "-ano netstat"

Chọn bất kỳ một mà bạn tìm thấy là miễn phí (Giống như bên trong hộp màu xanh lá cây ở trên) enter image description here

Các vấn đề liên quan