2011-12-08 31 views
25

Tôi đang cố gỡ lỗi các kiểm tra Maven trong Eclipse. Khi tôi khởi chạy các bài kiểm tra với tùy chọn maven mure.surefire.debug, tôi nhận được lỗi này:Gỡ lỗi Eclipse Maven "JDWP Transport dt_socket không thể khởi tạo, TRANSPORT_INIT (510)"

ERROR: transport error 202: bind failed: Address already in use 
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] 
/bin/sh: line 1: 27500 Abort trap   

Nó cũng giống như khi tôi cố gắng khởi động gỡ lỗi trong vỏ.

Tôi cố gắng để thêm tùy chọn maven forkMode = không bao giờ, và tôi nhận được một lỗi với vật hàn của tôi mà tôi không có mà không có sự lựa chọn maven.surefire.debug:

Error loading Weld bootstrap, check that Weld is on the classpath 

Tuy nhiên, mối hàn trên classpath của tôi.

Bất kỳ ý tưởng nào?

+3

Tôi đã tìm thấy giải pháp. Cổng tôi đã sử dụng để gỡ lỗi đã được sử dụng, có thể do lỗi của maven. Khi sử dụng maven.surefire.debug, maven đợi trên một cổng. Tôi đã giết nó một lần, và sau đó thử khởi động lại thử nghiệm quạ. Giải pháp là đóng cổng đã mở (tôi khởi động lại máy của mình, nhưng có thể có giải pháp ít triệt để hơn ...) –

+1

Bạn có thể đăng bài này làm giải pháp của riêng mình và sau đó chấp nhận nó sau một ngày. – Xonatron

Trả lời

23

Để giết một quá trình lắng nghe trên một cổng:

Lệnh này nên liệt kê quá trình lắng nghe trên tất cả các cổng:

netstat -ano 

Tùy chọn -o sẽ hiển thị quá trình id.

Nếu bạn đang sử dụng một hệ thống * nix, bạn có thể tinh chỉnh thêm một chút với:

netstat -ano | grep <badport> 

Khi bạn có quá trình id, bạn có thể chấm dứt nó với:

Windows:

  • Mở Trình quản lý tác vụ, thêm cột PID có Chế độ xem> Chọn cột> PID
  • Tìm quy trình và nhấp chuột phải để xóa nó

khác:

kill <PID> 
+0

Xin lỗi, nhưng tùy chọn -o không được nhận dạng. Tôi làm việc trên máy MacOS 10.6. Tuy nhiên, giải pháp này có vẻ là một ý tưởng hay. –

+0

Tôi nghĩ bạn có thể nhận được thông tin này trên OS X với 'sudo lsof -i -P' – lucrussell

+0

Bạn nói đúng. sudo lsof -i -P | grep hoạt động tốt. Cảm ơn bạn. –

4

Đến Debug configuration ->Remote Java Application ->Connect tab, kiểm tra Allow termination of remote JVM.

Sau đó, khi bạn đang đi để khởi động lại máy chủ/maven, đi đến Debug perspective và nhấp vào nút read/stop .....

0

Để thêm vào .. Tôi có vấn đề tương tự vào tuần trước, khi gỡ lỗi sử dụng nhật thực đã được thực hiện không thể.

FATAL ERROR in native method: JDWP No transports initialized, 
jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196) 
ERROR: transport library not found: dt_socket 
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509) 
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690] 

Đáng tiếc là không giải pháp tôi có thể tìm thấy trực tuyến hữu ích.

Vấn đề hóa ra là bằng cách nào đó tường lửa đã loại bỏ tất cả các dll trong thùng JRE của tôi ... (do đó dt_socket.dll hoàn toàn bị thiếu).

Cài đặt lại toàn bộ JRE đã giúp.

4

Có một thời gian dài câu hỏi đã được hỏi nhưng gần đây tôi đã gặp sự cố tương tự.

  1. mở Task Manager

  2. Giết tất cả "java.exe" quá trình

  3. Khởi chạy lại gỡ lỗi mvn

Hy vọng nó sẽ giúp

0

Giải pháp cho tôi đã loại bỏ các điểm ngắt của dự án! Nếu bạn có nhiều chi nhánh và thay đổi gần đây đôi khi nhật thực bị mất một số điểm ngắt.

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