2010-11-03 35 views
7

Dự án của tôi cài đặt là hoàn toàn tốt đẹp cho đến ngày hôm qua nhưng hôm nay tôi cài đặt bị mắc kẹt tại những điều sau đây,Maven Plugin surefire treo mãi mãi

Apache Maven 2.2.1 (r801777; 2009/08/06 20: 16: 01 + 0100)

phiên bản Java: 1.6.0_20

[INFO] Surefire report directory: C:\Perforce\project-name\target\surefire-reports

về cơ bản sau dòng này quá trình cài đặt không tiến hành ở tất cả. Có suy nghĩ gì không?

  1. Tôi đã thử mvn -X và tôi nhận được điều tương tự.
  2. Tôi thậm chí còn nâng cấp lên phiên bản 2.6 mới nhất và vẫn nhận được cùng một vấn đề
  3. tôi đã đảm bảo rằng không có tùy chọn gỡ lỗi tức là, JVM không chờ đợi bất kỳ debugger để đính kèm (tùy chọn -Xdebug)

Trả lời

2

Tôi đã thông qua forkMode = không bao giờ và bây giờ tôi nhận thấy rằng một trong các bài kiểm tra đã không bắt đầu ở tất cả. Lý do là nó đang sử dụng một mục ehcache và được lưu trữ trong thư mục "java.io.tmpdir", đó là thư mục tạm thời của người dùng của tôi.

Hệ thống cũng bắt đầu chậm từ hôm nay. Sau đó, tôi nhận thấy rằng thư mục C:/users /../ AppData/Local/Temp của tôi có khoảng 2 triệu tệp hầu hết trong số đó là tệp p4ticket234234.txt hoặc tệp nhật ký Visual Studio.

Khi tôi xóa các tệp nhật ký này, bản dựng của tôi đã thành công. Một jconsole hoặc một số thread dump sẽ có nhiều chỉ ra giống như tôi nghĩ.

+2

Btw; Tôi đã sửa lỗi này 2.7 – krosenvold

2

Thực hiện một bãi chứa thread của quá trình đúng bằng jstack và nộp một vấn đề

1

chờ đợi chắc chắn cho tất cả các chủ đề phi daemon trong ứng dụng của bạn để kết thúc. Thật dễ dàng để bỏ lỡ một hay khác. Ví dụ: đảm bảo gọi phương thức shutdown trên số Executors nếu bạn sử dụng bất kỳ phương thức nào. Nếu bạn tự xử lý luồng, bạn về cơ bản phải làm cho chúng trở thành chủ đề daemon hoặc đảm bảo chúng kết thúc. Một bãi chứa thread có thể giúp phát hiện các chủ đề kéo dài.

0

Sử dụng các công cụ jps, jstack hoặc jvisualvm từ JDK để lấy danh sách các quy trình và các chuỗi chỉ của chúng.

0

Tôi đã gặp vấn đề tương tự. Đột nhiên, "thử nghiệm mvn" của tôi bị treo dường như mãi mãi và quá trình org.apache.maven.surefire.booter.ForkedBooter có liên quan đã diễn ra 1,7 GB! Sau nhiều cuộc điều tra, hóa ra là vấn đề là tôi đã xóa một lớp đã được khởi tạo bởi lõi lò xo như một bean xuân trong cấu hình XML mùa xuân. Khi tôi đã gỡ bỏ phần tử tương ứng với lớp đã xóa từ cấu hình XML mùa xuân, tất cả đều tốt. Điều này có vẻ như một lỗi trong mùa xuân và sử dụng chắc chắn mà không có cảnh báo hợp lý hoặc lỗi được sản xuất.

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