Maven: คำสั่งเพื่ออัพเดตที่เก็บหลังจากเพิ่มการพึ่งพา POM


256

ฉันได้เพิ่มการอ้างอิงใหม่ให้กับ POM ของฉัน

มีคำสั่งง่ายๆที่ฉันสามารถรันเพื่อดาวน์โหลดการอ้างอิงนี้ไปยังที่เก็บของฉันได้หรือไม่?


สำหรับผู้ที่มองหาวิธีการทำสิ่งนี้ในโครงการ Spring Boot: ใช้mvnwเพื่อเรียกเลเยอร์เสื้อคลุม คำสั่งในหน้านี้ใช้ได้กับมัน
G_V

คำตอบ:


178

mvn install(หรือmvn package) จะทำงานเสมอ

คุณสามารถใช้mvn compileในการดาวน์โหลดอ้างอิงเวลารวบรวมหรือmvn testเพื่อรวบรวมเวลาและทดสอบอ้างอิง แต่ฉันชอบบางสิ่งที่ทำงานได้เสมอ


2
ขอบคุณฉันยังค้นพบว่าการเพิ่มลงใน pom ใน STS จะดาวน์โหลดให้คุณโดยอัตโนมัติ
JJ180

15
@Andrew Spencer ตอบถูกต้องมากขึ้น - mvn dependency:xxxจัดการกับการอ้างอิงเท่านั้นและไม่ต้องทำอะไรเพิ่มเติม - และสิ่งที่เป็นคำถามเกี่ยวกับ
botchniaque

บางครั้ง 'แพ็คเกจ mvn' อาจไม่อัปเดตการอ้างอิง เกิดขึ้นกับฉันมากกว่าหนึ่งครั้งจำเป็นต้องเรียกใช้ 'การพึ่งพา mvn: แก้ไข' ในกรณีเช่นนี้
Binita Bharati

1
@BinitaBharati คุณสามารถเพิ่ม -U ลงในบรรทัดคำสั่ง Maven เพื่อบังคับให้ดาวน์โหลดการพึ่งพา สิ่งนี้มีประโยชน์หาก Maven ไม่ดาวน์โหลดการอ้างอิงที่อัปเดตเนื่องจากการหมดเวลาใช้งานแคช
BamaPookie

1
@Kishan ถามคำถามใหม่ แสดงเลย์เอาต์ของโครงการของคุณ (โดยเฉพาะที่importเกิดขึ้น) และคุณใช้บิวด์โมดูลหลายตัวหรือไม่
Aaron Digulla

611

หากคุณต้องการเพียงการอ้างอิงดาวน์โหลดโดยไม่ต้องทำอะไรอย่างอื่นแล้วก็:

mvn dependency:resolve

หรือเพื่อดาวน์โหลดการพึ่งพาครั้งเดียว:

mvn dependency:get -Dartifact=groupId:artifactId:version

หากคุณต้องการดาวน์โหลดจากที่เก็บเฉพาะคุณสามารถระบุด้วย -DrepoUrl=...


2
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันเรียกใช้คำสั่งนั้น: [ข้อผิดพลาด] ไม่สามารถเรียกใช้ org.apache.maven.plugins เป้าหมาย: maven-dependency-plugin: 2.1: get (default-cli) ในโปรเจ็กต์ standalone-pom: พารามิเตอร์ 'repositoryUrl' สำหรับเป้าหมาย org.apache.maven.plugins: maven-dependency-plugin: 2.1: การขาดหายไปหรือไม่ถูกต้อง -> [ช่วยเหลือ 1] การระบุ -DrepositoryUrl = ... ไม่ทำงาน
Chry Cheng

1
ฉันคิดว่าฉันพบวิธีแก้ปัญหาแล้ว พารามิเตอร์ควรเป็น "repoUrl" และไม่ใช่ "repositoryUrl"
Chry Cheng

ไม่ได้แก้ปัญหาสำหรับฉัน: ฉันทำงานmvn package -oทันที - ฉันได้รับข้อผิดพลาดว่าไม่สามารถดาวน์โหลดปลั๊กอินได้ การรันmvn dependency:resolve-pluginsไม่สามารถแก้ไขปัญหาได้อย่างสมบูรณ์เช่นกัน
Innokenty

URL ที่เก็บของคุณอาจหายไป / ผิด ไม่ว่าในกรณีใดฉันไม่คิดว่าคำตอบนี้เป็นคำตอบสำหรับปัญหาที่คุณมี คำตอบนี้ครอบคลุมถึงกรณีที่ Maven สามารถค้นหาสิ่งประดิษฐ์ทั้งหมดที่ต้องการในที่เก็บที่กำหนดค่าไว้
Andrew Spencer

ฉันไม่สนหรอกว่าคุณจะเป็นผู้ศรัทธาหรือไม่เป็นคริสเตียนหรือไม่ ... ขอพระเจ้าอวยพรคุณด้วยคำตอบง่ายๆนี้
Salathiel Genèse

12

ฉันรู้ว่ามันเป็นคำถามเก่าตอนนี้ แต่สำหรับผู้ใช้ที่ใช้Mavenปลั๊กอินด้วยด้านEclipse ล่างWindowsคุณมีสองตัวเลือก:

  1. หากคุณติดตั้ง Maven เป็นแอปพลิเคชันแบบสแตนด์อโลน:

    คุณสามารถใช้คำสั่งต่อไปนี้ในCMDเส้นทางโครงการของคุณ:

    mvn eclipse:eclipse

    มันจะอัปเดตพื้นที่เก็บข้อมูลของคุณด้วยไหที่หายไปทั้งหมดตามการอ้างอิงของคุณในpom.xmlไฟล์ของคุณ

  2. หากคุณไม่ได้ติดตั้ง Maven เป็นแอปพลิเคชันแบบสแตนด์อโลนคุณสามารถทำตามขั้นตอนเหล่านี้ใน eclipse ของคุณ:

    คลิกขวาที่project-> ->Run AsRun configurations

    mavenBuildจากนั้นเลือก

    จากนั้นคลิกnewปุ่มเพื่อสร้างการกำหนดค่าประเภทที่เลือกคลิกที่เรียกดูพื้นที่ทำงานแล้วเลือกโครงการของคุณและระบุเป้าหมายeclipse:eclipse

คุณสามารถอ้างถึงวิธีรันคำสั่ง mvn eclipse: eclipseสำหรับรายละเอียดเพิ่มเติม


3
การรัน eclipse: eclipse หลังจากการพึ่งพา: การแก้ไขช่วยให้ฉันเห็นขวดที่ดาวน์โหลดใน eclipse ขอบคุณ!
Anatoly Yakimchuk

2
ในขณะที่คำตอบนี้จะช่วยให้คนจนที่ติดอยู่กับ Eclipse ฉันขอแนะนำให้ทุกคนที่ใช้ Eclipse หาทางเลือกที่ดีกว่า โดยเฉพาะอย่างยิ่งถ้าคุณกำลังจะใช้ Maven Netbeans และ IntelliJ เป็นเพียงไม่กี่ปีข้างหน้า
64BitBob

@ 64BitBob สมมติว่า Netbeans และ IntelliJ นั้นดีกว่า eclipse เราควรให้ทางแก้กับคนที่ใช้มันอยู่เสมอ :)
cнŝdk

ฉันเห็นว่าปลั๊กอินไม่สามารถใช้ได้ในตลาดอีกต่อไป แต่ใช่มันทำงานได้ใน Eclipse 2020 โดยไม่ต้องดาวน์โหลดอะไรเลย ฉันสงสัยว่า mvn eclipse: eclipse เป็นคำสั่งที่ส่งมาจาก eclipse เองเมื่อเราคลิกขวา -> Maven-> อัปเดตโครงการ ...
Paolo

@ เปาโลในความคิดของฉันพวกเขาได้เพิ่มปลั๊กอินใน Eclipse เวอร์ชันใหม่โดยอัตโนมัติและใช่ฉันคิดว่ามันเป็นคำสั่งเดียวกับตัวเลือก "Update project"
cнŝdk

1

ให้ความสนใจกับขอบเขตการพึ่งพาของคุณฉันมีปัญหาเมื่อฉันเรียกใช้การคอมไพล์แบบสะอาดผ่าน Intellij, pom จะถูกดาวน์โหลด แต่ jar จะไม่ มีการสร้างไฟล์ xxx.jar.lastUpdated จากนั้นตระหนักว่าขอบเขตการพึ่งพาคือการทดสอบ แต่ฉันกำลังเรียกการคอมไพล์ ฉันลบ repos และเริ่มการทดสอบ mvn และแก้ไขปัญหาแล้ว


-4

คลิกขวาที่โครงการ ไปที่ Maven -> อัปเดตโครงการ

การอ้างอิงจะถูกติดตั้งโดยอัตโนมัติ


นี่คือวิธีการทำใน Eclipse
user1364368

บางครั้งและในที่สุดก็ไม่ออกไปใช้งานได้บางคำสั่งเช่นแพ็คเกจ mvn ติดตั้งพึ่งพา: แก้ไขสามารถแก้ปัญหาของคุณ
Sham Fiorin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.