Lỗi Maven không thành công khi chuyển


285

Tôi đang cố gắng thiết lập một dự án bằng Maven (m2eclipse), nhưng tôi gặp lỗi này trong Eclipse:

Mô tả Tài nguyên Đường dẫn Loại vị trí Không thể tính toán kế hoạch xây dựng: Không thể chuyển org.apache.maven.plugins: maven-Trình biên dịch-plugin: pom: 2.0.2 từ http://repo1.maven.org/maven2 đã được lưu trong bộ nhớ cache cục bộ kho lưu trữ, độ phân giải sẽ không được đánh dấu lại cho đến khi hết thời gian cập nhật của trung tâm hoặc bắt buộc cập nhật. Lỗi ban đầu: Không thể chuyển artifact org.apache.maven.plugins: maven-Trình biên dịch-plugin: pom: 2.0.2 từ / đến trung tâm ( http://repo1.maven.org/maven2 ): Không nhận được phản hồi sau 60000 Ví dụ Vấn đề Maven chưa biết

Có ý kiến ​​gì không? Sẽ rất hữu ích nếu bạn có thể chỉ cho tôi cách kiểm tra xem mọi thứ có được cấu hình tốt không ...

Câu trả lời:


719

Xóa tất cả các bản tải xuống không thành công của bạn:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

Cho cửa sổ:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Sau đó nhấp chuột phải vào dự án của bạn trong nhật thực và chọn Maven -> "Cập nhật dự án ...", đảm bảo "Cập nhật phụ thuộc" được chọn trong hộp thoại kết quả và nhấp vào OK.


6
Trong Windows, tôi đã sử dụng hộp thoại explorer để tìm kiếm * .lastUpdated trong% USERPROFILE% \. M2s sau đó xóa các tệp mà Eclipse báo cáo là có vấn đề. Làm việc một điều trị! Tôi chắc chắn rằng bạn có thể làm điều đó bằng cách sử dụng findstr hoặc tương tự nhưng GUI đã hoạt động.
Đánh dấu McDonald

4
Trong Windows, tôi đã đưa lên Windows Explorer và nhấp chuột phải vào .m2 -> Tìm kiếm .... Tôi đặt * .lastUpdated vào tên tệp và "Không thể chuyển" trong hộp văn bản "Một từ hoặc cụm từ trong tệp".
rajah9

4
Trong các cửa sổ, các tệp đó được đặt bên trong <user-dir>/.m2/repository/org/example/myTool/1.01(bạn thấy mẹo). Chỉ cần xóa chúng ( *.lastUpdatedbằng) bằng tay và cập nhật phụ thuộc.
Cedric Reichenbach

2
Trong Eclipse Luna (4,4 cột mốc) trên Windows, tôi thấy rằng sau khi xóa * .lastUpdated, tôi cũng cần lấy m2eclipse để Reindex Kho lưu trữ cục bộ (thông qua Eclipse-> Window-> Preferences-> Maven-> Cài đặt người dùng: Kho lưu trữ cục bộ: Reindex)
gb96

2
sau khi nhổ tóc hàng giờ ... cuối cùng giải pháp này đã có hiệu quả với tôi trong nhật thực nhật thực .... thankyou
Tayab Hussain

71

Điều này làm việc cho tôi trong Windows là tốt.

  1. Xác định vị trí {user} /. M2 / repository (Sử dụng Juno / Win7 tại đây)
  2. Trong trường Tìm kiếm ở phía trên bên phải của cửa sổ, nhập ".lastupdated". Windows sẽ xem qua tất cả các thư mục con cho các tệp này trong thư mục. (Tôi đã không xem qua bộ đệm.)
  3. Xóa chúng bằng cách nhấp chuột phải> Xóa (Tôi giữ tất cả các trang cuối cùng.properies).
  4. Sau đó quay trở lại vào Eclipse, Nhấp chuột phải vào dự án và chọn Maven> Cập nhật dự án. Tôi đã chọn "Buộc cập nhật ảnh chụp / Phát hành". Nhấp vào Ok và cuối cùng các phụ thuộc được giải quyết chính xác.

1
Cũng thấy rằng nếu bạn có tài liệu tham khảo không chính xác (cú pháp hoặc số phiên bản) cho các thư viện, họ sẽ không tải xuống. Sử dụng công cụ tìm kiếm kho lưu trữ trực tuyến Maven để đảm bảo rằng bạn đang tham khảo các thư viện chính xác trong tệp pom.xml của mình.
iowatiger08

Điều này làm việc cho các cửa sổ. Cám ơn nhiều, ông bạn! Nhưng vấn đề này nhiều lần trở lại. Chúng tôi có bất kỳ sửa chữa vĩnh viễn?
LING

@ iowatiger08 điều gì xảy ra nếu tôi loại bỏ các tập tin Lastupdated.properies?
garg10may

@ garg10may Tôi không nghĩ việc loại bỏ chúng sẽ là vấn đề lớn vì Maven sẽ sao chép chúng khi thực hiện "cập nhật" tiếp theo.
iowatiger08

@ iowatiger08, Có lỗi nếu tôi sử dụng phiên bản như <version> [1.0.0,2.0.0) </ version> trong tệp pom của tôi, nhưng tôi thay đổi phiên bản thành 1.6.10, lỗi đã biến mất. Tại sao điều này xảy ra?
gfan

32

Trong Eclipse: Nhấp chuột phải vào dự án-> Maven-> Cập nhật dự án-> Chọn hộp kiểm "Buộc cập nhật ảnh chụp / phát hành". Nhấn OK.


17

Cảm ơn đã trả lời, nhưng sau khi tìm kiếm thêm, tôi đã có thể khắc phục vấn đề. Hóa ra tôi phải xóa một trong những "* .lastUpdated" đang ngăn một trong các plugin của tôi (Maven Surefire Plugin) cập nhật. Tôi đã làm điều này bằng tay, bởi vì một maven sạch sẽ không làm điều đó rõ ràng.

Vấn đề là tệp "* .lastUpdated" cho plugin đã chặn kiểm tra maven để cập nhật và không cho phép tải xuống một lọ cần thiết.


4
Có thể đó là điều hiển nhiên, nhưng tôi chỉ muốn thêm: Sau khi tìm thủ công tệp * .lastUpdated được chỉ định trong kho lưu trữ của maven (chắc chắn là trong trường hợp của tôi) và xóa nó, người ta phải xóa dự án trong Eclipse.
superjos

15

Cố gắng thực hiện

mvn -U clean

hoặc Chạy> Maven Clean và Maven> Cập nhật ảnh chụp nhanh từ menu ngữ cảnh dự án trong nhật thực


9

Trong trường hợp của tôi. Các vấn đề là cùng một lý do. Tôi thấy vấn đề là trên proxy và tường lửa.

Ở đây giải pháp của tôi Cách
Fisrt:
1. cài đặt Proxy cho Maven và Eclipse
2. Đi đến Định vị {user} /. M2 / repository và Xóa tất cả các tệp * .lastupdated
3. Quay trở lại Eclipse, Nhấp chuột phải vào dự án và chọn Maven> Cập nhật dự án. > Chọn "Cập nhật lực lượng của Ảnh chụp / Phát hành".

Nếu dự án vẫn còn tồn tại lỗi. ví dụ: đây là vấn đề của tôi sau tất cả các bước trên

Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out

Tôi sử dụng giải pháp này hữu ích cho tôi:
1. Tìm kho lưu trữ trong https://mvnreposective.com/
2. Sao chép phụ thuộc vào * .poml của
ví dụ dự án của tôi

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>


3. Xây dựng dự án. thiếu phụ thuộc sẽ được tải xuống kho lưu trữ cục bộ.
4. Quay trở lại Eclipse, Nhấp chuột phải vào dự án và chọn Maven> Cập nhật dự án. > Chọn "Cập nhật lực lượng của Ảnh chụp / Phát hành".
= >> Lỗi được giải quyết
5. Tôi xóa phần phụ thuộc ở bước 2 sau khi hoàn tất và giải quyết. Làm xong


7

Điều này làm việc cho tôi trong Windows:

  1. Xác định vị trí {user}/.m2/repository
  2. Trong trường Tìm kiếm ở phía trên bên phải của cửa sổ, nhập " .lastupdated". Windows sẽ xem qua tất cả các thư mục con cho các tệp này trong thư mục.
  3. Loại bỏ tất cả các .lastupdatedtập tin.
  4. Quay trở lại Eclipse, Nhấp chuột phải vào dự án và chọn Maven > Update Project.
  5. Chọn " Force Update of Snapshots/Releases".
  6. Nhấp vào Ok và phụ thuộc cuối cùng sẽ giải quyết chính xác.

6

Nó xảy ra với tôi khi Iam đằng sau một bức tường lửa. Các phụ thuộc đôi khi không được tải xuống khi bạn đang chạy trong IDE Eclipse. Hãy chắc chắn rằng bạn sử dụng mvn clean install -Uđể giải quyết vấn đề. Bạn sẽ thấy các phụ thuộc tải về sau này.


Khi bạn thực hiện việc này trên thiết bị đầu cuối của mình, hãy đến Eclipse, chọn dự án và "Làm mới dự án". Điều này sẽ giải quyết vấn đề mà không gây khó khăn cho việc tìm và xóa ".lastUpdated".
Edward Quixote

5

Nếu bạn đứng sau một proxy, bạn phải cập nhật tệp settings.xml (trong thư mục conf của MAVEN_HOME, chính tệp đó chứa thông tin về các cài đặt proxy) và ngoài ra, bạn có thể cần cập nhật Cài đặt mạng Eclipse của mình (Window-> Tùy chọn ...-> gõ Kết nối mạng).

Hãy thử sử dụng -X hoặc --debug để có được đầu ra gỡ lỗi, điều này có thể cung cấp thêm thông tin về sự cố.


3

Tôi đã có vấn đề tương tự trong Eclipse 3.6 với m2eclipse.

Không thể tính toán kế hoạch xây dựng: Không thể chuyển org.apache.maven.plugins: maven-resource-plugin: jar: 2.4.3 từ http://repo1.maven.org/maven2 đã được lưu trong bộ nhớ cache cục bộ, độ phân giải sẽ không được đánh giá lại cho đến khi khoảng thời gian cập nhật của trung tâm đã hết hoặc các cập nhật bị ép buộc. Lỗi gốc: Không thể chuyển artifact org.apache.maven.plugins: maven-resource-plugin: jar: 2.4.3 từ trung tâm (http://repo1.maven.org/maven2): Dự án ConnectException1 Vấn đề Maven không xác định

Xóa tất cả các tệp maven * .lastUpdated khỏi kho lưu trữ cục bộ của tôi (như Deepak Joy đề xuất) đã giải quyết vấn đề đó.


2

Tôi đã có một vấn đề tương tự với chỉ một vài dự án trong không gian làm việc của tôi. Các dự án khác có POM gần như giống hệt nhau không có lỗi gì cả. Không có câu trả lời nào khác được liệt kê đã khắc phục vấn đề của tôi. Cuối cùng tôi đã vấp ngã khi gỡ bỏ / áp dụng lại bản chất Maven cho từng dự án và các lỗi đã biến mất:

Đối với mỗi dự án có lỗi "độ phân giải sẽ không được đánh dấu lại ...":

  1. Nhấp chuột phải vào dự án trong Eclipse và chọn Maven -> Vô hiệu hóa Maven Nature
  2. Nhấp chuột phải vào dự án trong Eclipse và chọn Cấu hình -> Chuyển đổi sang Dự án Maven

2

Nó cũng xảy ra với tôi, bạn có thể có hai solue = tion cho việc này

  1. Nếu dự án của bạn bao gồm một số phụ thuộc cụ thể bên ngoài hoặc dự án trong đó thì bạn phải thêm thủ công vào thư mục kho repo M2 được đặt tại thư mục kho lưu trữ C: \ Users \ Mohit.Singh.m2 \ và sau đó bạn phải chạy nhật thực mvn: nhật thực và sau đó mvn cài đặt sạch từ thư mục dự án

  2. nếu bạn không có bất kỳ sự phụ thuộc đặc biệt nào của dự án hoặc dự án thì bạn có thể nhập dự án vào nhật thực như dự án maven hiện tại sau đó nhấp chuột phải vào dự án -> GO to maven -> Nhấp vào dự án cập nhật, một cửa sổ sẽ xuất hiện kiểm tra tải xuống ảnh chụp nhanh tùy chọn và nhấn vào OK


2

Đưa ra đường dẫn maven settings.xml chính xác trong nhật thực.

  • Windows -> Tùy chọn -> Maven -> Cài đặt người dùng

Nhập đường dẫn cài đặt chính xác trong hộp văn bản cài đặt người dùng


Thêm cài đặt maven cũng như trong tùy chọn maven nhật thực
Gunwant

1

chỉ cần xóa các nguyên mẫu trong maven local repository. Như đã nói ở trên, nó xảy ra trong trường hợp tải xuống nguyên mẫu không thành công .


1

Đối với tôi, tôi vừa thêm mã xml dưới đây vào tệp POM.xml. Và sau khi tôi bấm ** nhấp chuột phải vào dự án -> Maven -> Cập nhật dự án và tôi đã kiểm tra Force Update của Ảnh chụp / Phát hành ** và mọi thứ đều hoạt động

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

0

cài đặt cho proxy? và trong nhật thực có maven global \ local profile, hãy thêm tệp settings.xml


2
Bạn có thể chỉnh sửa câu trả lời của bạn và thêm chi tiết? Cho một ví dụ về những gì cần thêm vào settings.xmlvà nơi nó có thể được tìm thấy. Ngoài ra, hãy nhớ câu hỏi này là 10 tháng tuổi.
Brigand

0

Bạn có thể xóa chính thư mục .m2 và buộc MyEclipse tải xuống lại tất cả các phụ thuộc khi khởi động. Chuyển đến Cửa sổ> Tùy chọn> MyEclipse> Maven4MyEclipse.


0
  • Lỗi trên xảy ra do xóa 'maven-Trình biên dịch-plugin 2.0.2' khỏi kho lưu trữ của maven.
  • Đối với tôi, lỗi trên được giải quyết khi tôi hạ cấp 'maven-Trình biên dịch-plugin' thành phiên bản 2.0 hoặc 2.0.1.

-1

Giải pháp phù hợp với tôi là như sau:

  1. Sao chép sự phụ thuộc vào pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Nhấp chuột phải vào dự án của bạn

  3. Chọn Maven
  4. Chọn Cập nhật dự án
  5. Chọn Cập nhật lực lượng của Ảnh chụp / Phát hành

-2

Vui lòng đảm bảo rằng tệp settings.XML trong thư mục .m2 là hợp lệ trước tiên Sau khi dọn sạch kho lưu trữ bằng lệnh bên dưới trong cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.