2011-09-13 35 views
123

Gần đây, Apache Maven dường như đang gặp sự cố bộ nhớ đệm. Thực hiện cài đặt sạch trên các dự án của chúng tôi bằng Windows Vista hoặc Windows 7 đôi khi tạo ra các tạo tác có cùng dữ liệu như bản dựng trước mặc dù các tệp của tệp phần mềm mới hơn phải được cập nhật.Làm cách nào để xóa bộ nhớ cache của Apache Maven?

Có cách nào để xóa bộ nhớ cache này để buộc maven luôn kích hoạt một bản dựng sạch của tạo tác cục bộ cần được xây dựng không?

Cụ thể, chúng tôi đang gặp sự cố khi xây dựng ứng dụng web với plugin chiến tranh. Phiên bản Maven là 3.0.3. Phiên bản plugin chiến tranh là 2.1.1.

+2

Bạn đã thử cờ '-U' sẽ cập nhật hiện vật? –

+2

Bạn có thể cung cấp thêm chi tiết không? Những người phụ thuộc không được cập nhật trong chiến tranh? Nếu vậy, những người phụ thuộc có phiên bản SNAPSHOT? – Raghuram

+0

Đây có phải là một dự án đa mô-đun không? Bạn đã kiểm tra số phiên bản của các mô-đun depdendent chưa? Bạn có thể tái tạo không? 'mvn clean install' đặt các tạo tác mới vào kho lưu trữ cục bộ? – palacsint

Trả lời

130

Xóa các tạo phẩm (hoặc toàn bộ kho lưu trữ cục bộ) từ c:\Users\username\.m2\repository bằng tay.

+4

Đã cố gắng, đã không hoạt động. Nhờ đề nghị mặc dù. – MetroidFan2002

+124

Làm thế nào điều này có thể không hoạt động? –

+0

@ om-nom-nom: Cảm ơn bạn đã chỉnh sửa! – palacsint

10

Bạn đã kiểm tra/thay đổi cài đặt updatePolicy cho các kho lưu trữ của mình trong settings.xml.

Yếu tố này chỉ định tần suất cập nhật sẽ cố gắng xảy ra. Maven sẽ so sánh dấu thời gian của POM địa phương (được lưu trữ trong tập tin maven-metadata của kho lưu trữ ) với điều khiển từ xa. Các lựa chọn là: luôn luôn, hàng ngày (mặc định), khoảng thời gian: X (trong đó X là một số nguyên tính bằng phút) hoặc không bao giờ.

Hãy thử đặt thành always.

+1

Có thể giúp đỡ cho anway đối phó với điều này ... Tôi không có' < updatePolicy> 'trong tệp pom.xml của tôi, nhưng có' ' –

5

Tính năng này hoạt động trên Spring Tool Suite v 3.1.0.RELEASE, nhưng tôi đoán nó cũng có sẵn trên Eclipse.

Sau khi xóa các đồ tạo tác bằng tay (như đã nêu bởi palacsint ở trên) trong thư mục /username/.m2, tái chỉ mục các tập tin bằng cách làm như sau:

Đến Windows-> Preferences-> Maven- > Menu Cài đặt người dùng.

Nhấp vào nút "Reindex" bên cạnh hộp văn bản "Kho lưu trữ cục bộ". Nhấp vào "Áp dụng" sau đó "OK" và bạn đã hoàn tất.

112

Để xóa bộ nhớ cache cục bộ, hãy thử sử dụng trình cắm phụ thuộc.

  1. mvn dependency:purge-local-repository: Đây là một nỗ lực để xóa tệp kho lưu trữ cục bộ nhưng nó luôn đi và lấp đầy kho lưu trữ cục bộ sau khi mọi thứ đã bị xóa.
  2. mvn dependency:purge-local-repository -DreResolve=false: Điều này tránh tái phân giải phụ thuộc nhưng dường như vẫn truy cập mạng vào các thời điểm.
  3. mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false: Điều này đã được thêm bởi Paweł Prażak và dường như hoạt động tốt. Tôi sẽ sử dụng thứ ba nếu bạn muốn repo địa phương làm trống, và đầu tiên nếu bạn chỉ muốn ném repo địa phương và nhận lại các phụ thuộc.
+4

sự khác nhau giữa chúng là gì? –

+8

Đầu tiên là một nỗ lực để xóa các tệp kho lưu trữ cục bộ nhưng nó luôn luôn đi và lấp đầy kho lưu trữ cục bộ sau khi mọi thứ đã được loại bỏ. Điều thứ hai tránh việc tái phân giải các phụ thuộc nhưng dường như vẫn đi vào mạng vào các thời điểm. Thứ ba được thêm vào bởi Paweł Prażak và dường như hoạt động tốt. Tôi sẽ sử dụng thứ ba nếu bạn muốn repo địa phương làm trống, và đầu tiên nếu bạn chỉ muốn ném repo địa phương và nhận lại các phụ thuộc. –

+0

chúng tôi thực hiện hành động này ở đâu? CMD không biết mvn ... – deadManN

0

tôi sẽ làm như sau:

mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false --fail-at-end 

Cờ nói maven không cố gắng giải quyết phụ thuộc hoặc nhấn mạng. Xóa nội dung bạn nhìn thấy cục bộ.

Và để có biện pháp tốt, hãy bỏ qua lỗi (--fail-at-end) cho đến cuối cùng.Điều này đôi khi hữu ích cho các dự án có một bộ phụ thuộc sai lầm hoặc dựa vào một kho lưu trữ nội bộ hơi lộn xộn (nó xảy ra.)

+0

Tôi xin lỗi, tôi không hiểu câu hỏi: / –

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