ข้อผิดพลาด Maven“ ไม่สามารถถ่ายโอน ... ”


285

ฉันพยายามตั้งค่าโครงการโดยใช้ Maven (m2eclipse) แต่ฉันได้รับข้อผิดพลาดนี้ใน Eclipse:

คำอธิบายประเภทสถานที่ตั้งเส้นทางของทรัพยากรไม่สามารถคำนวณแผนสร้าง: ความล้มเหลวในการถ่ายโอน org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 จากhttp://repo1.maven.org/maven2ถูกแคชในท้องถิ่น ที่เก็บความละเอียดจะไม่ถูก reattempted จนกว่าช่วงเวลาการปรับปรุงของกลางที่ผ่านไปหรือการปรับปรุงถูกบังคับ ข้อผิดพลาดเดิม: ไม่สามารถถ่ายโอนสิ่งประดิษฐ์ org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 จาก / ไปยังส่วนกลาง ( http://repo1.maven.org/maven2 ): ไม่ได้รับการตอบสนองหลังจาก 60000 ตัวอย่างของโครงการ ปัญหา Maven ที่ไม่รู้จัก

ความคิดใด ๆ มันจะมีประโยชน์ถ้าคุณสามารถแสดงวิธีการตรวจสอบว่าทุกอย่างถูกปรับแต่ง ...

คำตอบ:


721

ลบการดาวน์โหลดที่ล้มเหลวทั้งหมดของคุณ:

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

สำหรับ windows:

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

จากนั้นคลิกขวาที่โครงการของคุณใน eclipse และเลือก Maven -> "อัปเดตโครงการ ... " ตรวจสอบให้แน่ใจว่าได้เลือก "Update Dependencies" ในกล่องโต้ตอบผลลัพธ์แล้วคลิกตกลง


6
ใน Windows ฉันใช้กล่องโต้ตอบ explorer เพื่อค้นหา * .lastUpdated ใน% USERPROFILE% \. m2 จากนั้นลบไฟล์ที่ Eclipse รายงานว่ามีปัญหา ทำงานรักษา! ฉันแน่ใจว่าคุณสามารถทำได้โดยใช้ findstr หรือคล้ายกัน แต่ใช้งาน GUI ได้
Mark McDonald

4
ใน Windows ฉันใช้ Windows Explorer ขึ้นมาและคลิกขวาที่. m2 -> ค้นหา ... ฉันใส่ * .lastUpdated ในชื่อไฟล์และ "ไม่สามารถถ่ายโอน" ในกล่องข้อความ "คำหรือวลีในไฟล์"
rajah9

4
ใน windows ไฟล์เหล่านั้นจะอยู่ภายใน<user-dir>/.m2/repository/org/example/myTool/1.01(คุณจะเห็นเคล็ดลับ) เพียงแค่ลบพวกเขา (the *.lastUpdated) ด้วยมือและอัปเดตการอ้างอิง
Cedric Reichenbach

2
ภายใต้ Eclipse Luna (4.4 milestone) บน Windows ฉันพบว่าหลังจากลบ * .lastUpdated ฉันยังต้องได้รับ m2eclipse เพื่อทำการ Reindex Local Repository (ผ่าน Eclipse-> Window-> Preferences-> Maven-> การตั้งค่าผู้ใช้: Local Repository: Reindex)
gb96

2
หลังจากดึงขนของฉันหลายชั่วโมง ... ในที่สุดโซลูชันนี้ได้ผลสำหรับฉันใน eclipse นีออน .... ขอบคุณ
Tayab Hussain

71

สิ่งนี้ใช้ได้สำหรับฉันใน Windows เช่นกัน

  1. ค้นหา {user} /. m2 / repository (ใช้ Juno / Win7 ที่นี่)
  2. ในช่องค้นหาที่ด้านบนขวาของหน้าต่างพิมพ์ ".lastupdated" Windows จะค้นหาโฟลเดอร์ย่อยทั้งหมดสำหรับไฟล์เหล่านี้ในไดเรกทอรี (ฉันไม่ได้ดูแคช)
  3. ลบออกโดยคลิกขวา> ลบ (ฉันเก็บข้อมูลล่าสุดทั้งหมดไว้)
  4. จากนั้นกลับไปที่ Eclipse คลิกขวาที่โปรเจ็กต์และเลือก Maven> อัพเดตโปรเจ็กต์ ฉันเลือกที่ "Force Update of Snapshots / release" คลิกตกลงและสุดท้ายการอ้างอิงได้รับการแก้ไขอย่างถูกต้อง

1
นอกจากนี้ยังพบว่าหากคุณมีการอ้างอิงที่ไม่ถูกต้อง (ไวยากรณ์หรือหมายเลขเวอร์ชัน) ไปยังไลบรารีพวกเขาจะไม่ดาวน์โหลด ใช้เครื่องมือค้นหาที่เก็บ Maven ออนไลน์เพื่อให้แน่ใจว่าคุณอ้างอิงไลบรารีอย่างถูกต้องใน pom.xml ของคุณ
iowatiger08

สิ่งนี้ใช้ได้กับ windows ขอบคุณมาก ๆ ! แต่ปัญหานี้เกิดขึ้นอีกครั้ง เรามีการแก้ไขอย่างถาวรหรือไม่?
LINGS

@ iowatiger08 จะเกิดอะไรขึ้นหากฉันลบไฟล์ lastupdated.properties ด้วย?
garg10may

@ garg10may ฉันไม่คิดว่าการลบออกจะเป็นเรื่องใหญ่เพราะ Maven จะ repopulate พวกเขาเมื่อทำการอัปเดตครั้งต่อไป
iowatiger08

@ iowatiger08 มีข้อผิดพลาดหากฉันใช้รุ่นเช่น <version> [1.0.0,2.0.0) </version> ในไฟล์ pom ของฉัน แต่ฉันเปลี่ยนรุ่นเป็น 1.6.10 ข้อผิดพลาดหายไป ทำไมสิ่งนี้เกิดขึ้น
gfan

32

ใน Eclipse: คลิกขวาที่โครงการ -> Maven-> อัปเดตโครงการ -> ทำเครื่องหมายที่ช่องทำเครื่องหมาย "บังคับอัปเดตสแนปชอต / รีลีส" คลิกตกลง


17

ขอบคุณสำหรับคำตอบ แต่หลังจากการค้นหาเพิ่มเติมฉันสามารถแก้ไขปัญหาได้ ปรากฎว่าฉันต้องลบ "* .lastUpdated" อันใดอันหนึ่งซึ่งป้องกันหนึ่งในปลั๊กอินของฉัน (Maven Surefire Plugin) จากการอัปเดต ฉันทำสิ่งนี้ด้วยตนเองเพราะคนสะอาดไม่ได้ทำอย่างชัดเจน

ปัญหาคือไฟล์ "* .lastUpdated" สำหรับปลั๊กอินกำลังปิดกั้นการตรวจสอบ maven สำหรับการปรับปรุงและไม่อนุญาตให้ jar ที่จำเป็นในการดาวน์โหลด


4
อาจจะชัดเจน แต่ฉันต้องการเพิ่ม: หลังจากค้นหาไฟล์ * .lastUpdated ที่ระบุด้วยตนเองใน maven repository (ไฟล์ surefire เป็นไฟล์ในกรณีของฉัน) และการลบมันต้องล้างโปรเจ็กต์ใน Eclipse
superjos

15

พยายามที่จะดำเนินการ

mvn -U clean

หรือเรียกใช้> Maven Clean and Maven> อัพเดตสแน็ปช็อตจากเมนูบริบทโครงการใน eclipse


9

ในกรณีของฉัน ปัญหาคือเหตุผลเดียวกัน ฉันเห็นปัญหาอยู่ในพร็อกซีและไฟร์วอลล์

นี่คือวิธีแก้ไขปัญหา
Fisrt ของฉัน :
1. ติดตั้ง Proxy สำหรับ Maven และ Eclipse
2. ไปที่ค้นหา{user} /. m2 / repositoryและลบไฟล์* .lastupdatedทั้งหมด
3. กลับไปที่ Eclipse คลิกขวาที่โครงการและ เลือกMaven> อัพเดตโครงการ > เลือก "บังคับอัปเดตสแนปชอต / รีลีส"

หากโครงการยังคงมีข้อผิดพลาด ตัวอย่าง: นี่คือปัญหาของฉันหลังจากขั้นตอนทั้งหมดข้างต้น

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

ฉันใช้โซลูชันนี้มีประโยชน์สำหรับฉัน:
1. ค้นหาแหล่งเก็บข้อมูลในhttps://mvnrepository.com/
2. คัดลอกการอ้างอิงไปยัง* .pomlของ
ตัวอย่างโครงการ

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


3. สร้างโครงการ การพึ่งพาที่ขาดหายไปจะถูกดาวน์โหลดไปยังที่เก็บในเครื่อง
4. ย้อนกลับไปที่ Eclipse คลิกขวาที่โครงการและเลือกMaven> Update Project > เลือก "บังคับอัปเดตสแนปชอต / รีลีส"
= >> ข้อผิดพลาดได้รับการแก้ไข
5. ฉันลบการอ้างอิงในขั้นตอนที่ 2 หลังจากเสร็จสิ้นและแก้ไขแล้ว เสร็จสิ้น


7

สิ่งนี้ใช้ได้กับฉันใน Windows:

  1. ค้นหา {user}/.m2/repository
  2. ในช่องค้นหาที่ด้านบนขวาของหน้าต่างพิมพ์ ".lastupdated " Windows จะค้นหาโฟลเดอร์ย่อยทั้งหมดสำหรับไฟล์เหล่านี้ในไดเรกทอรี
  3. ลบทั้งหมด .lastupdatedไฟล์ทั้งหมด
  4. กลับไปที่ Eclipse คลิกขวาที่โปรเจ็กต์และเลือก Maven > Update Projectคลิกขวาที่โครงการและเลือก
  5. เลือก "Force Update of Snapshots/Releases "
  6. คลิกตกลงและการอ้างอิงจะแก้ไขได้อย่างถูกต้องในที่สุด

6

มันเกิดขึ้นกับฉันเมื่อเอี่ยมหลังไฟร์วอลล์ การพึ่งพาไม่ได้รับการดาวน์โหลดบางครั้งเมื่อคุณกำลังทำงานใน Eclipse IDE ตรวจสอบให้แน่ใจว่าคุณใช้mvn clean install -Uเพื่อแก้ไขปัญหา คุณจะเห็นการดาวน์โหลดอ้างอิงหลังจากนี้


เมื่อคุณทำสิ่งนี้บนเทอร์มินัลของคุณมุ่งหน้าไปที่ Eclipse เลือกโครงการและ "รีเฟรชโครงการ" สิ่งนี้ควรแก้ปัญหาโดยไม่แนะนำให้ค้นหาและลบ ".lastUpdated" ได้ยาก
Edward Quixote

5

หากคุณอยู่หลังพร็อกซีคุณจะต้องอัปเดตไฟล์ settings.xml (ภายใต้โฟลเดอร์ conf ของ MAVEN_HOME ไฟล์นั้นมีข้อมูลเกี่ยวกับการตั้งค่าพร็อกซี) และคุณอาจต้องอัปเดตการตั้งค่าเครือข่าย Eclipse (หน้าต่าง -> ค่ากำหนด ... -> ประเภทการเชื่อมต่อเครือข่าย)

ลองใช้ -X หรือ --debug เพื่อรับเอาท์พุทการดีบักซึ่งสามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับปัญหาได้


3

ฉันมีปัญหาที่คล้ายกันใน Eclipse 3.6 ด้วย m2eclipse

ไม่สามารถคำนวณแผนการสร้างได้: ไม่สามารถโอน org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 จากhttp://repo1.maven.org/maven2ถูกแคชในที่เก็บในตัวเครื่องความละเอียดจะไม่ จะพยายามอีกครั้งจนกว่าช่วงเวลาการอัพเดตของส่วนกลางจะผ่านไปหรือการอัปเดตถูกบังคับ ข้อผิดพลาดเดิม: ไม่สามารถถ่ายโอนสิ่งประดิษฐ์ org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 จากส่วนกลาง (http://repo1.maven.org/maven2): ConnectException project1 ปัญหา Maven ที่ไม่รู้จัก

การลบไฟล์ maven * .lastUpdated ทั้งหมดจากคลังข้อมูลในเครื่อง (ตามที่แนะนำ Deepak Joy) แก้ปัญหานั้นได้


2

ฉันมีปัญหาที่คล้ายกันกับโครงการเพียงไม่กี่แห่งในพื้นที่ทำงานของฉัน โครงการอื่น ๆ ที่มี POM ที่เหมือนกันเกือบจะไม่มีข้อผิดพลาดเลย ไม่มีคำตอบอื่นใดในรายการที่แก้ไขปัญหาของฉัน ในที่สุดฉันก็สะดุดเมื่อลบ / ใช้ธรรมชาติ Maven ซ้ำสำหรับแต่ละโครงการและข้อผิดพลาดหายไป:

สำหรับแต่ละโครงการที่มี pom ที่มีข้อผิดพลาด "การแก้ไขจะไม่ถูกพยายามอีกครั้ง ... "

  1. คลิกขวาที่โครงการใน Eclipse และเลือกMaven -> ปิดการใช้งาน Maven Nature
  2. คลิกขวาที่โครงการใน Eclipse และเลือกConfigure -> Convert เป็น Maven Project

2

มันเกิดขึ้นกับฉันเช่นกันคุณอาจจะมีสองคำตอบสำหรับเรื่องนี้

  1. หากโครงการของคุณประกอบด้วยการพึ่งพาจากภายนอกหรือโครงการเฉพาะคุณต้องเพิ่มด้วยตนเองในโฟลเดอร์M2 repo ของคุณซึ่งตั้งอยู่ที่C: \ Users \ Mohit.Singh.m2 \ repositoryแล้วคุณต้องรัน mvn eclipse: eclipseและ mvn ใหม่ทั้งหมดติดตั้งจากโฟลเดอร์โครงการ

  2. หากคุณไม่มี wxternal หรือโครงการ sppecific dependence คุณอาจนำเข้าโครงการเป็น eclipse เป็นโครงการ maven ที่มีอยู่ แล้วคลิกขวาที่โครงการ -> ไปที่ maven -> คลิกที่โครงการปรับปรุงหน้าต่างจะปรากฏขึ้นตรวจสอบการดาวน์โหลด snapshot ของกองกำลัง ตัวเลือกและกด OK


2

ให้พา ธ การตั้งค่า maven setting.xml ที่ถูกต้องใน eclipse

  • Windows -> การตั้งค่า -> Maven -> การตั้งค่าผู้ใช้

ป้อนเส้นทาง settings.xml ที่ถูกต้องในกล่องข้อความการตั้งค่าผู้ใช้


เพิ่มการติดตั้ง maven เช่นกันในการตั้งค่า maven maven
Gunwant

1

เพียงแค่ลบmaven local repositoryแม่แบบใน ดังกล่าวข้างต้นมันเกิดขึ้นในกรณีที่การดาวน์โหลดต้นแบบล้มเหลว


1

สำหรับฉันฉันเพิ่งเพิ่มรหัส xml ร้องในไฟล์ POM.xml และหลังจากฉันกดปุ่มขวาในโครงการ -> Maven -> อัปเดตโครงการและฉันตรวจสอบ Force Update ของ Snapshots / Release ** และทุกอย่างทำงาน

    <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

settings.xml สำหรับพรอกซี? และในคราสมีโปรไฟล์ global \ local maven เพิ่ม settings.xml


2
คุณสามารถแก้ไขคำตอบและเพิ่มรายละเอียดได้ไหม? ยกตัวอย่างสิ่งที่ควรเพิ่มsettings.xmlและสามารถพบได้ที่ไหน นอกจากนี้โปรดทราบว่าคำถามนี้มีอายุ 10 เดือน
Brigand

0

คุณสามารถลบโฟลเดอร์. m2 เองและบังคับให้ MyEclipse ดาวน์โหลดการอ้างอิงทั้งหมดอีกครั้งเมื่อเริ่มต้น ไปที่หน้าต่าง> การตั้งค่า> MyEclipse> Maven4MyEclipse


0
  • ข้อผิดพลาดข้างต้นเกิดขึ้นเนื่องจากการลบ 'maven-compiler-plugin 2.0.2' จากที่เก็บ maven
  • สำหรับฉันข้อผิดพลาดด้านบนได้รับการแก้ไขเมื่อฉันปรับลดรุ่น 'maven-compiler-plugin' เป็นรุ่น 2.0 หรือ 2.0.1

-1

วิธีแก้ปัญหาสำหรับฉันมีดังต่อไปนี้:

  1. คัดลอกการอ้างอิงถึง pom

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. คลิกขวาที่โครงการของคุณ

  3. เลือก Maven
  4. เลือกอัปเดตโครงการ
  5. เลือก Force Update ของ Snapshots / Release

-2

กรุณาตรวจสอบให้แน่ใจว่าไฟล์ settings.XML ในโฟลเดอร์. m2 นั้นถูกต้องก่อนจากนั้นหลังจากทำความสะอาดพื้นที่เก็บข้อมูลโดยใช้คำสั่งด้านล่างเป็น cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.