2013-09-23 58 views
8

Tôi đang gỡ lỗi mã trong Intellij. Tôi sử dụng maven để xây dựng dự án và có nhiều phiên bản khác nhau của dự án đang ngồi trong kho .m2 cục bộ. Intellij tiếp tục chọn phiên bản cũ của mã từ ảnh chụp nhanh trước của dự án khi tôi bắt đầu gỡ lỗi. Làm cách nào để IntelliJ gỡ lỗi mã mới nhất khỏi kho lưu trữ cục bộ?Intellij Debugging lấy tập tin dự án phiên bản cũ

+0

là maven "tự động nhập khẩu" bật? Và nếu bạn nhìn vào ô 'Project' bên dưới các thư viện bên ngoài, bạn có thể nhìn thấy hình chụp nhanh ở đó không? Nếu bạn kích chuột phải vào nó và chọn "Open Library Settings", có phải 'Classes' hiển thị đúng jar, với repo maven chính xác và đúng ngày giờ? – vikingsteve

Trả lời

3
  1. Hãy thử loại bỏ .jar và .WAR file có chứa mã của bạn từ bạn ~/.m2/kho/ Đối với tôi vấn đề là tôi đã xây dựng một cái gì đó và bây giờ được đăng ký trong Maven dưới những gì Maven xem xét một phiên bản mới hơn, nhưng không phải là những gì tôi hiện đang làm việc. Tôi biên soạn, nói rằng, phiên bản "2.1" để gỡ lỗi một cái gì đó và sau đó quay trở lại làm việc trên "sand-box-idea-SNAPSHOT" Tôi tiếp tục suy nghĩ tại sao Intellij không chọn hộp cát mới nhất của tôi thay vì đó là vì nó trì hoãn Maven phiên bản 2.1 mà Maven thừa nhận là tốt hơn 'sand-box-SNAPSHOT'.

  2. Có thể bạn có một số plugin gây trở ngại cho quá trình xây dựng của IntelliJ. Tôi biết rằng Plugin Giao thức Bộ đệm của Google có thể khiến Intellij của tôi không thể phát hiện các lớp bẩn cần được biên dịch lại.

+0

Tôi đã từng hỏi các chàng trai sonatype nhìn vào 1) nhưng họ không thể tái tạo nó. Thật tuyệt khi thấy tôi không tưởng tượng ra điều gì;) (https://getsatisfaction.com/sonatype/topics/logic_behind_in_maven_metadata_xml?utm_content=topic_link&utm_medium=email&utm_source=reply_notification) –

+0

Hành vi này thực sự bắt đầu làm phiền tôi ... đặc biệt là vì pom .xml chỉ định phiên bản nào chúng tôi muốn sử dụng - không biết tại sao trình gỡ lỗi không thể thực hiện kết nối. Lưu ý: Việc xóa các lọ không chụp nhanh của các bản phát hành trước đã đột ngột giải quyết được các vấn đề phụ thuộc của tôi. – blackstrype

1

tôi đã gặp hành vi tương tự, có thể nó có thể giúp bạn :-)

tôi phát triển ứng dụng (sử dụng maven) và trong thời gian đó tôi thay đổi bao bì sản lượng từ jar đến chiến tranh. Kho lưu trữ Maven hơn chứa cả hai phiên bản, jar và chiến tranh, bởi vì con quạ không loại bỏ cái lọ cũ khi bạn thay đổi nó. Khi dự án chỉ vào kho mvn, nó vẫn sử dụng tham chiếu cũ cho jar nhưng phiên bản mới trong chiến tranh đã được cập nhật.

Tôi đã thực sự khó chịu khi biên dịch maven và thử nghiệm hoạt động tốt nhưng Idea đã sử dụng phiên bản cũ của tôi. Tôi đã xây dựng lại dự án ý tưởng và nó hoạt động tốt đẹp sau này.

0

Tôi đã thấy điều này rất gần đây sau khi nâng cấp từ 13 đến IDEA IDEA 14. Nó có vẻ như tung ra các cấu hình được tạo ra trong IDEA 13 không còn tự động kích hoạt một gói mvn trước khi khởi động.

Để khắc phục điều này, tôi đã thêm mục tiêu mvn theo cách thủ công vào hộp thoại "Trước khi khởi chạy".

5

Bạn có thể yêu cầu Intellij 2016 hỏi bạn mỗi lần mã nguồn nào đi qua. File-> Settings-> Debugger

Hiện nguồn thay thế switcher

Show alternative source switcher

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