นำเข้าการพึ่งพา Maven ใน IntelliJ IDEA


208

ฉันมีคำถามเล็กน้อยเกี่ยวกับ IntelliJ IDEA 11 ฉันเพิ่งนำเข้าโครงการจากการโค่นล้ม - เป็นโครงการ maven แต่ฉันมีปัญหาในการอ้างอิงไลบรารี maven เพื่อให้ฉันไม่สามารถรวมการพึ่งพา maven ทั้งหมดโดยอัตโนมัติ - IDEA แสดงข้อผิดพลาดในการพึ่งพาเฉพาะเมื่อฉันเปิดคลาสนั้น / นั่นคือสิ่งที่ฉันได้รับที่นี่:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นฉันต้องการเพิ่มการอ้างอิงทั้งหมดโดยอัตโนมัติ - เป็นไปได้หรือฉันต้องผ่านไฟล์คลาสทั้งหมดเพื่อระบุและเพิ่มการพึ่งพา Maven หรือไม่!

UPDATE: หลังจากทำการแก้ไขบางอย่างฉันพบวิธีแก้ไขปัญหาของฉันในทางใดทางหนึ่ง นั่นคือสิ่งที่ฉันทำ: ป้อนคำอธิบายรูปภาพที่นี่

แต่ฉันคิดว่าเหตุผลมันจะไม่รวมและตรวจสอบการอ้างอิงใหม่ล่วงหน้าหรือไม่! ... มีการตั้งค่าใด ๆ สำหรับสิ่งนี้ใน intelliJ - การส่งออกโดยอัตโนมัติไปยัง classpath หรือไม่!


9
มันดาวน์โหลดการอ้างอิงทั้งหมด แต่ดูเหมือนจะไม่เพิ่มพวกเขาทั้งหมดใน classpath ...
— Zaur Guliyev

3
และอีกปัญหาหนึ่งคือการที่แสดงให้เห็น IntelliJ ผมสีแดงข้อผิดพลาดที่ขีดเส้นใต้เฉพาะเมื่อผมเปิดไฟล์ Java ที่ ...
— Zaur Guliyev

4
อินสแตนซ์หนึ่งที่คุณได้รับสายสีแดงนี้คือถ้าคุณมีการอ้างอิง SNAPSHOT พร้อมกับตัวจําแนกซึ่งมีการอ้างอิงรุ่นที่ใหม่กว่าโดยไม่มีตัวจําแนก สิ่งนี้ถูกกฎหมายอย่างสมบูรณ์ใน Maven แต่ IntelliJ สับสนในการพยายามหาเส้นทางไปยังไฟล์ทางกายภาพในที่เก็บ Maven ในพื้นที่ของคุณ
— RCross

4
FYI สิ่งนี้สามารถเกิดขึ้นได้ใน 15.0.2 เพิ่งเกิดขึ้นกับฉัน ต้องทำให้ไฟล์. iml ของฉันและโฟลเดอร์. ada ของฉันหายไปและนำเข้าอีกครั้ง b / c ที่น่าผิดหวังอย่างเหลือเชื่อฉันใช้เวลา 2 ชั่วโมงในการต่อสู้กับมัน
— Kevin Pauli

3
@KevinPauli ไม่จำเป็นต้องลบไฟล์โครงการ IDEA สำหรับสิ่งนั้นคุณสามารถ "นำเข้าโครงการ Maven ทั้งหมด" อีกครั้งภายใต้แท็บ "Maven Projects" เพื่อนำเข้าใหม่ด้วยตนเอง
— Zaur Guliyev

คำตอบ:


282

IntelliJ ควรดาวน์โหลดและเพิ่มการอ้างอิงทั้งหมดของคุณไปยัง classpath ของโครงการโดยอัตโนมัติตราบใดที่ POM ของคุณเป็นไปตามมาตรฐานและการพึ่งพาทั้งหมดจะพร้อมใช้งาน

เมื่อนำเข้าโครงการ Maven ลงใน IntelliJ มักจะมีกล่องข้อมูลขึ้นมาถามคุณว่าคุณต้องการกำหนดค่าการนำเข้าอัตโนมัติสำหรับโครงการ Maven หรือไม่ นั่นหมายความว่าหากคุณทำการเปลี่ยนแปลง POM ของคุณการเปลี่ยนแปลงเหล่านั้นจะถูกโหลดโดยอัตโนมัติ

คุณสามารถเปิดใช้งานคุณสมบัติดังกล่าวไปที่ไฟล์> การตั้งค่า> Maven> การนำเข้ามีช่องทำเครื่องหมายที่ระบุว่า "นำเข้าโครงการ Maven โดยอัตโนมัติ"

หากวิธีนี้ไม่ได้ผลฉันขอแนะนำให้ทำความสะอาดแบบเต็มรูปแบบแล้วเริ่มใหม่อีกครั้ง:

  • ปิดหน้าต่างโครงการของคุณ (และ IntelliJ) และลบ*.imlไฟล์ทั้งหมดและ.ideaโฟลเดอร์ทั้งหมด(ควรมีหนึ่งรายการต่อโมดูล)
  • เรียกใช้mvn clean installจากบรรทัดคำสั่ง
  • นำเข้าโครงการเข้าสู่ IntelliJ อีกครั้งและให้ความสนใจเมื่อขอให้คุณเปิดใช้งานการนำเข้าอัตโนมัติ

อัพเดต IntelliJ 2016 :

การตั้งค่าการนำเข้า Maven โครงการโดยอัตโนมัติถูกย้ายไปที่สร้างดำเนินการปรับใช้> เครื่องมือสร้าง> Maven> นำเข้าในการตั้งค่า IntelliJ ของคุณ


ดังนั้นวิธีการแก้ปัญหาของคุณคือการทำเครื่องหมายอ้างอิงที่ส่งออก? แปลกแฮะ, แปลกนะ, มันแปลก ๆ นะ! ฉันใช้ IntelliJ และ Maven มากและไม่มีโครงการของฉัน (บางโครงการเป็นหลายโครงการ) เปิดใช้งานคุณลักษณะการส่งออก ... Community Edition หรือ Ultimate เป็นอะไร
— Alonso Dominguez

1
เป็น Ultimate Edition แต่โครงการที่ฉันนำเข้าสร้างขึ้นบน Eclipse - เพื่อให้. classpath ถูกเปิดใช้งานที่นั่น แต่ IntelliJ ใช้. iml - ดังนั้นฉันคิดว่ามันมีเหตุผลที่จะรวม libs เหล่านี้เป็นครั้งแรกหากโครงการนี้ไม่มี. iml ไฟล์ก่อน .. ?!
— Zaur Guliyev

1
โอเค - คุณพยายามที่จะนำเข้ามันเป็นโครงการ Maven แทนที่จะเป็น Eclipse หรือไม่? ฉันไม่ได้เช็คอินไฟล์ที่เกี่ยวข้องกับ IDE ลงในที่เก็บข้อมูลต้นทางของฉันเมื่อทำงานกับโครงการ Maven: ถ้าเป็นโครงการ Maven แล้วกฎ Maven
— Alonso Dominguez

2
คุณสามารถเปิดใช้งานการนำเข้าอัตโนมัติในการตั้งค่า / การตั้งค่า เปิดการตั้งค่า / การตั้งค่าและค้นหา "นำเข้าโครงการ Maven โดยอัตโนมัติ" มันอยู่ภายใต้ Build, Execution, Deployment> Build Tools> Maven> การนำเข้า
— Seyed Jalal Hosseini

2
@JustinBlank ไม่แปลกใจกับที่ระบุว่านี่เป็นคำตอบจากปี 2012 การตั้งค่ายังคงอยู่ที่นั่นพวกเขาเพิ่งถูกย้ายไปที่อื่น (คำตอบได้รับการปรับปรุง)
— Alonso Dominguez

66

แก้ไขก่อน IntelliJ 14

ไฟล์ [เมนู] -> การตั้งค่า -> maven -> การนำเข้าและยกเลิกการเลือก "ใช้ maven3 เพื่อนำเข้าโครงการ"

ref: http://youtrack.jetbrains.com/issue/IDEA-98425 (ซึ่งอาจมีความคิดอื่น ๆ ด้วย)

แก้ไข IntelliJ 15+

เรียกใช้งานอีกครั้งด้วย IntelliJ 15 ในครั้งนี้ซึ่งไม่มีตัวเลือก "ใช้ maven3 เพื่อนำเข้า" อีกต่อไป สาเหตุก็คือว่าบางครั้ง IntelliJ "ไม่ Maven แจงอ้างอิงที่ถูกต้อง" และถ้ามันไม่สามารถแยกคนหนึ่งของพวกเขามีสิทธิจะให้ขึ้นไปบนทั้งหมดของพวกเขาเห็นได้ชัด คุณสามารถบอกได้ว่าเป็นกรณีนี้หรือไม่โดยการเปิดหน้าต่างเครื่องมือ Maven Projects (เมนูมุมมอง -> เครื่องมือ Windows -> โครงการ Maven) จากนั้นขยายโครงการ maven ของคุณและการอ้างอิง หากการอ้างอิงทั้งหมดถูกขีดเส้นใต้ด้วยสีแดง "ฮูสตันเรามีปัญหา" ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถเห็นความล้มเหลวที่แท้จริงโดยการวางเมาส์เหนือชื่อโครงการเอง

ป้อนคำอธิบายรูปภาพที่นี่

ในอินสแตนซ์ของฉันมีข้อความแจ้งว่า "ปัญหา: ไม่มีรุ่นสำหรับ XXX" หรือ "ไม่สามารถอ่านตัวบ่งชี้สำหรับส่วนวัตถุ org.xy.z" อ้างอิง: https://youtrack.jetbrains.com/issue/IDEA-128846 และ https: // youtrack.jetbrains.com/issue/IDEA-152555

ดูเหมือนว่าในกรณีนี้ฉันกำลังจัดการกับ jar ที่ไม่มีไฟล์ pom ที่เกี่ยวข้อง (ใน maven nexus repo ของเราและที่เก็บในเครื่องของฉัน) หากนี่เป็นปัญหาของคุณ "urrent หลีกเลี่ยง: ถ้าคุณไม่จำเป็นต้องใช้คลาสจาก jar นั้นในรหัสของคุณ (ตัวอย่างเช่นการพึ่งพา maven สกรรมกริยา) คุณสามารถหลีกเลี่ยงการแสดงความคิดเห็นจาก pom (ชั่วคราว), โหลด maven project แล้วยกเลิกการคอมเมนต์หลังจากนั้นจุดหนึ่ง IntelliJ "จำ" การพึ่งพาการทำงานเก่าของมันการเพิ่ม maven transitive ไม่รวมเป็นการชั่วคราวอาจทำได้เช่นกันถ้าคุณกำลังเรียกใช้มันจากห่วงโซ่การถ่ายทอด "

อีกสิ่งที่อาจช่วยได้คือใช้ "maven เวอร์ชันที่ใหม่กว่า" ที่รวมอยู่ในชุด 3.0.5 ในการตั้งค่าให้ใช้สิ่งนี้เป็นค่าเริ่มต้นให้ปิดหน้าต่าง Intellij ทั้งหมดของคุณจากนั้นเปิดการตั้งค่า -> บิลด์การเรียกใช้และการปรับใช้ -> บิลด์เครื่องมือ -> maven และเปลี่ยนโฮมไดเร็กทอรี maven คุณควรพูดว่า "สำหรับค่าเริ่มต้น โครงการ "ที่ด้านบนเมื่อคุณปรับเปลี่ยนสิ่งนี้แม้ว่าคุณสามารถปรับได้สำหรับโครงการเฉพาะเช่นกันตราบใดที่คุณ" นำเข้า "หลังจากปรับ

ล้างแคช

การลบโฟลเดอร์แคช intellij ของคุณ (windows: HOMEPATH /. {IntellijIdea, IdeaC} XXX linux ~ / .IdeaIC15) และ / หรือถอนการติดตั้งและติดตั้ง IntelliJ ใหม่เอง นอกจากนี้ยังสามารถทำได้โดยไปที่ File [เมนู] Invalidate Caches / Restart...-> invalidate and restartคลิก นี่จะทำดัชนีโครงการทั้งหมดของคุณใหม่และแก้ไขปัญหาที่ติดตามได้ยากด้วย IntelliJ


2
พอโพสต์อื่น ๆ เกือบทุกโพสต์แนะนำให้ตรวจสอบตัวเลือก "ใช้ Maven3 เพื่อนำเข้าโครงการ" เพื่อแก้ปัญหานี้ในขณะที่การยกเลิกการตรวจสอบจริงมันแก้ปัญหาสำหรับฉัน ทำไม? ฉันไม่รู้ ขอบคุณ!
— janhink

3
ในที่สุด v14 ฉันเลือก maven ภายนอกและทุกอย่างกลับไปทำงาน
— AlikElzin-kilaka

@ AlikElzin-kilaka การเปลี่ยนไดเรกทอรีบ้าน Maven เป็นบ้าน Maven ภายนอกจะช่วยได้มาก หลังจากฉันอัปเดต IDEA เป็น v14 ultimate ฉันไม่สามารถเปิดโครงการของฉันใน IDEA ได้เนื่องจาก "ไม่พบปลั๊กอิน tomcat6" แต่ฉันสามารถเปิดโครงการโดยใช้คำสั่ง mvn และเปลี่ยนโฮมไดเรกทอรี maven ไปเป็นโปรแกรมภายนอกแก้ไขได้
— JerseyGood

ใน IntelliJ 2016.2.1 การปิดใช้งานการนำเข้าอัตโนมัติเปลี่ยนเป็นMaven home directoryสแต็กที่เราใช้ (3.3.9) แก้ไขปัญหาให้ฉัน
— Wheeler

1
การเปลี่ยนmaven home directoryจากBundle (Maven 3)เป็นพา ธ ที่ติดตั้ง maven ของฉัน.../maven/3.6.1/libexecทำงานให้ฉัน
— Marcelo Xavier

37

เมื่อนำเข้าโครงการให้เลือกpom.xmlแทนไดเรกทอรีโครงการ มันควรจะทำงาน


1
บางครั้งคลิกที่ตัวเลือก "นำเข้าโครงการ maven ทั้งหมด" ใหม่ภายใต้หน้าต่างโครงการ Maven
— vikramvi

1
บางทีนี่อาจเป็นวิธีที่ดีที่สุดสะอาดและสะอาด (และมันก็น่าอึดอัดใจเล็กน้อยในระบบ Intellij ไม่ได้ช่วยให้คุณคาดเดาได้)
— 4477

ทำงานให้ฉันด้วย IntelliJ Community Edition 2019.3.4 ขอบคุณสำหรับวิธีแก้ปัญหาที่ง่ายเช่นนี้ :)
— asymmetryFan

22

ลองนำเข้าโครงการอีกครั้งจากแผง Maven Projects ใน IntelliJ IDEA ควรดาวน์โหลดและกำหนดค่าการพึ่งพาทั้งหมดที่กำหนดไว้ในของคุณpom.xmlโดยอัตโนมัติ

หากการดาวน์โหลดไม่ทำงานจาก IDEA ด้วยเหตุผลบางอย่างลองmvn installจากบรรทัดคำสั่งและดูว่าสามารถดึงการอ้างอิงได้หรือไม่

แน่นอนการพึ่งพาที่จำเป็นทั้งหมดและที่เก็บที่กำหนดเองใด ๆ จะต้องกำหนดโดยตรงในpom.xmlไฟล์


14

สำหรับ IntelliJ 2016-2.4 (และฉันเชื่อว่ามีรุ่น ish ใหม่อื่น ๆ ):

ดู> เครื่องมือ Windows> โครงการ Maven

ในแถบเครื่องมือที่เพิ่งเปิดเผยให้เลือกการตั้งค่า Maven (ไอคอนชุดเครื่องมือ)

เมื่อหน้าจอนี้เปิดขึ้นให้ขยายเมนู Maven แล้วคลิก 'การนำเข้า'

คลิกที่นี่ "นำเข้าโครงการ Maven โดยอัตโนมัติ" ตรวจสอบให้แน่ใจด้วยว่าตัวเลือก 'JDK for Importer' ตรงกับรุ่น JDK ที่คุณต้องการใช้

คลิกตกลง ตอนนี้ไปที่การพึ่งพาสีแดงใน pom.xml ของคุณเลือกหลอดไฟสีแดงและคลิก 'อัปเดตดัชนี Maven'


1
การเลือก JDK ที่เหมาะสมสำหรับผู้นำเข้าช่วยฉัน ฉันยังต้องเรียกใช้ความคิด mvn: ความคิดที่สะอาด: ความคิดที่จะปิดปัญหาล่าสุด
— Vincent F

9

อะไรช่วยฉัน:

การนำทาง: การตั้งค่า | Build, Execution, Deployment | Maven

ระบุ "Maven home directory" - ที่ที่คุณติดตั้ง Maven


7

หากโมดูล maven บางตัวไม่ได้รวบรวมตรวจสอบว่า pom.xml อยู่ในรายการ "ไฟล์ที่ถูกละเว้น" ใน IntelliJ goto

การตั้งค่า -> การตั้งค่าโครงการ -> maven -> ไฟล์ที่ถูกละเว้น

และตรวจสอบว่า pom.xml ที่เกี่ยวข้องถูกละเว้นหรือไม่


5

เปิดIntelliJ Idea, ไปที่ ไฟล์> การตั้งค่าอื่น ๆ > การตั้งค่าเริ่มต้น ... > Maven (ค่ากำหนด)> การนำเข้า หรือ | Preferences > Maven > Importing

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่เปิดใช้งานการนำเข้าอัตโนมัติในคอนโซล

ป้อนคำอธิบายรูปภาพที่นี่


4

เมื่อคุณสร้างโครงการใหม่คุณจะต้องเลือกตัวเลือก:

...
นำเข้าโครงการจากโมเดลภายนอก
สร้างโครงสร้างโครงการ IDEA ผ่านโมเดลภายนอกที่มีอยู่ (Eclipse, Maven ... )
...

คุณจะพบว่ามันตรงไปตรงมาจากตรงนั้น
และในกรณีของคุณคุณสามารถปิดโครงการและสร้างโครงการใหม่ได้ เลือกไดเรกทอรีของโครงการซึ่งจะแทนที่มันทำให้เป็นโครงการ Maven


ตกลง มันเกือบจะแน่นอนว่า OP นำเข้าโครงการผิดไป
— kaqqao

4

การนำเข้าการพึ่งพา Maven อาจไม่ทำงานหากคุณนำเข้าเส้นทางเดียวกันหลายครั้ง สิ่งนี้อาจเกิดขึ้นโดยอัตโนมัติหลังจากนำเข้าโครงการ Maven ที่มีอยู่ ฉันไม่สามารถเข้าใจได้ว่าทำไมสิ่งนี้จึงเกิดขึ้นดังนั้นฉันจึงคิดว่ามันเป็นข้อผิดพลาด

ตัวอย่างเช่นถ้าโครงการของฉันคือ

hibernate
  src/main
  src/test

เส้นทางทั้งสามอาจถูกนำเข้าเป็นโหนดบนสุด:

hibernate
src/main
src/test

หากเป็นเช่นนั้นการอ้างอิงนั้นจะถูกต้อง แต่จะไม่ถูกใช้จนกว่าคุณจะลบเส้นทางที่ไม่จำเป็น (ในกรณีนี้src/mainและsrc/test) เมื่อคุณทำเช่นนี้รีเฟรชและคลิกสร้าง> สร้างโครงการใหม่ ความคิดจะรับการอ้างอิง

อาการของปัญหานี้คือ IDEA จะเตือนคุณถึงเส้นทางที่ซ้ำซ้อนเมื่อคุณตรวจสอบไลบรารีด้วยตนเอง (ภาพหน้าจอที่สองในคำถาม)

มีหลายวิธีในการอ่านการอ้างอิงในกรณีที่คุณต้องการ หากคุณไปที่แท็บ“ โครงการ Maven” จะมีไอคอน“ นำเข้าโครงการ Maven ทั้งหมด” อีกครั้งที่ด้านบนซ้ายของแท็บ หากคุณสงสัยว่า IDEA สับสนคุณสามารถคลิกที่ไฟล์> ทำให้แคชใช้ไม่ได้


3

ไปที่โครงสร้างโครงการของคุณภายใต้การตั้งค่าโครงการโมดูลเลือกตารางการอ้างอิง สำหรับการพึ่งพาแต่ละครั้งเปลี่ยนขอบเขตจาก 'ทดสอบ' เป็น 'คอมไพล์'


3

นำเข้าโครงการอีกครั้ง หากคุณติดตั้งปลั๊กอิน maven คุณสามารถใช้สิ่งนี้

คลิกขวาที่โครงการ -> Maven -> นำเข้าใหม่


3

เส้นทางตรวจสอบครั้งแรกที่ระบุไว้สำหรับไฟล์ของผู้ใช้ตั้งค่าในการตั้งค่า -> รูปร่าง, การดำเนินการ, การพัฒนา -> เครื่องมือรูปร่าง -> Maven ฟิลด์ควรมีเส้นทางของsettings.xmlของ maven ของคุณ ด้วย settings.xml ควรมีเส้นทางที่ถูกต้องของที่เก็บระยะไกล


สิ่งนี้ใช้ได้ผลสำหรับฉันในไฟล์ settings.xml รายการสำหรับแท็ก <url> ที่ซ้อนในแท็ก <mirror> นั้นล้าสมัยแล้ว ฉันปรึกษากับเพื่อนร่วมงานเพื่อรับค่าการอัพเดท ฉันทำการเปลี่ยนแปลงเป็น ~ / .m2 / settings.xml ปิด intelliJ และเริ่มต้นใหม่อีกครั้ง เมื่อเริ่มต้นใหม่โดยไม่ทำอะไรเลยขีดสีแดงที่ปรากฏขึ้นในมุมมอง Maven ก็หายไป น่าแปลกที่การอ้างอิงรูทส่วนใหญ่ที่ไฮไลต์อยู่เสมอในรายการ "ไลบรารีภายนอก" ของมุมมองโปรเจ็กต์ทั้งก่อนและหลังฉันทำการแก้ไขนี้
— Steve T

3

ฉันมีปัญหาที่คล้ายกันในกรณีของฉันฉันใช้แบบกำหนดเองsettings.xmlซึ่งไม่ได้รับจาก IntelliJ

วิธีแก้ไข:
File > Settings > Build, Execution, Deployment > Maven: User settings file (เลือกที่นี่ settings.xml แบบกำหนดเองของฉัน)


3

ฉันมีปัญหาเดียวกันและลองคำตอบทั้งหมดที่กล่าวถึงที่นี่ไม่มีใครทำงาน

วิธีแก้ไขปัญหาอย่างง่ายคือไปที่โฟลเดอร์โครงการของคุณและลบไฟล์. aide และ. iml ทั้งหมดแล้วเริ่ม IntelliJ ide ใหม่ มันได้ผล. ไม่จำเป็นต้องทำอะไรกับการตั้งค่า


2

ฉันพบปัญหาที่บางส่วนย่อยไม่สามารถแก้ไขได้ใน IntelliJ 2016.3.X ซึ่งอาจได้รับการแก้ไขโดยการเปลี่ยนการMaven home directoryตั้งค่า> รูปร่าง, การดำเนินการปรับใช้> เครื่องมือรูปร่าง> Maven จากไปBundled (Maven 3)/usr/share/maven

หลังจากนั้นการอ้างอิงย่อยทั้งหมดได้รับการแก้ไขเหมือนใน IntelliJ รุ่นก่อนหน้า


2

Maven - การนำเข้าไม่ทำงานสำหรับฉัน ฉันมีโครงการ Spring ใน STS (Eclipse) และโซลูชันของฉันคือการนำเข้าโครงการไปยัง IDEA ดังนี้

1) ไฟล์ - ใหม่ - โครงการจากแหล่งที่มีอยู่ ... - ไดเรกทอรีเลือก - เลือก Eclipse
2) ตั้งค่า Maven autoimport เป็น true ในการตั้งค่า
3) จากนั้นคลิกขวาใน pom.xml และเลือกเพิ่มเป็นโครงการ Maven

หลังจากนี้มันก็นำเข้าทุกอย่าง


2

ฉันมีปัญหาที่คล้ายกันกับ macbook ของฉันเพียงแค่ทำการเปลี่ยนแปลงเล็กน้อยpom.xmlและมันเริ่มดาวน์โหลดการอ้างอิงทั้งหมด:

การอ้างอิงก่อนหน้านี้ถูกเขียนเป็นด้านล่างสำหรับเครื่อง windows ของฉัน:

<dependencies>
 <dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>
</dependencies>

ฉันเพิ่งลบ<dependencies>และ</dependencies>แท็กและมันเริ่มดาวน์โหลดการอ้างอิงทั้งหมด:

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

ฉันไม่แน่ใจว่ามันจะทำงานให้คุณหรือไม่ .. แต่ก็ใช้ได้ดีสำหรับฉัน

ขอบคุณ


1

หากที่มุมล่างขวามีข้อความว่า "2 กระบวนการกำลังทำงาน ... " หรือคล้ายกันคุณอาจต้องรอจนกว่าจะเสร็จสิ้นเนื่องจากอาจต้องใช้เวลาในการดาวน์โหลดไหทั้งหมด


1

ฉันแก้ไขปัญหานี้ด้วยการอัปเดตไฟล์ settings.xml ด้วยการกำหนดค่ามิเรอร์ที่ถูกต้องดูเหมือนว่า Intellij จะพยายามดาวน์โหลด meta-data จากที่เก็บทุกครั้งที่โมดูล maven นำเข้า


1

หักหลังนิดหน่อยเพื่อเพิ่มสิ่งที่ทำงานให้ฉัน:

เข้าไปในMaven Projectsแถบด้านข้างทางด้านขวาของ IDE และตรวจสอบว่าการอ้างอิงของคุณอยู่ในรายการอย่างถูกต้องภายใต้โมดูลของคุณ สมมติว่าพวกเขาเป็นเพียงแค่ขอความคิดที่จะนำเข้าแล้ว

เมื่อฉันทำเช่นนั้นและให้ IDEA โหลดโครงการสำหรับฉันการอ้างอิงทั้งหมดของฉันก็เข้าใจได้อย่างน่าอัศจรรย์

สำหรับการอ้างอิง: นี่คือด้วย IDEA 13.1.2


1

ฉันประสบปัญหาเดียวกันและลองทุกอย่างที่แนะนำซึ่งไม่สามารถแก้ปัญหาได้ฉันใช้ Intellij รุ่น 13.1.3

ในที่สุดหลังจากใช้เวลานานกว่าสองสามชั่วโมงในการพยายามแก้ไขฉันตัดสินใจลองรุ่นที่อัปเกรดแล้วเปิดโครงการในเวอร์ชัน 14.1.4 ซึ่งแก้ไขปัญหาได้ในที่สุด ฉันคิดว่านี่เป็นข้อผิดพลาดที่น่าจะเป็นในรุ่นก่อนหน้า

ฉันหวังว่านี่จะช่วยได้!


1

ฉันสามารถแก้ไขได้โดยลบโมดูลที่ไม่จำเป็นออกจากการตั้งค่าโครงการ ->รายการโมดูล

ป้อนคำอธิบายรูปภาพที่นี่

ปรากฎว่าโมดูลเพิ่มเติมเหล่านี้ถูกสร้างขึ้นโดยอัตโนมัติโดย IntelliJ IDEA เมื่อฉันสร้างโครงการ IntelliJ โดยการนำเข้าจากโฟลเดอร์โครงการ (แทนที่จะเปิด pom.xml แทน) จากนั้นหลังจากประกาศโครงการเป็นโครงการ Maven โมดูลที่เหมาะสมถูกสร้างขึ้นและโมดูลที่มีอยู่มีความขัดแย้งกับพวกเขา นอกจากนี้ยังเป็นไปได้ที่จะยกเว้นโมดูลเหล่านั้นในระหว่างการสร้างโครงการ


1

การลบโฟลเดอร์ .idea จากไดเรกทอรีโครงการแล้วนำเข้าโครงการอีกครั้งในฐานะโครงการ Maven เป็นสิ่งที่ใช้ได้ผลสำหรับฉัน


1

ในกรณีของฉันโมดูลหนึ่งถูกละเว้นด้วยเหตุผลบางอย่าง ในการแก้ไขปัญหา: คลิกขวาที่โมดูลที่มีปัญหาและเลือก "ยกเลิกการจัดโครงการ"

ถอนตัวอย่างโครงการ


1

ในกรณีของฉันเส้นทางสำหรับ JAVA ที่ใช้โดย MAVEN ไม่ได้ถูกตั้งค่าเป็น JAVA_HOME ตามที่กำหนดค่าไว้ในเครื่อง ดังนั้นจึงไม่ได้พยายามดาวน์โหลดการอ้างอิง ขั้นตอนที่ฉันติดตามซึ่งแก้ไขปัญหานี้ได้

  1. ตรวจสอบเส้นทาง JAVA, การตั้งค่า >> รูปร่าง >> เครื่องมือรูปร่าง >> การนำเข้า >> JDK สำหรับผู้นำเข้า ชี้ไปที่ JAVA_HOME

  2. mvn clean install -U

    ใช้คำสั่งด้านบนเพื่อบังคับการดาวน์โหลดการอ้างอิง

  3. นำเข้าโครงการ Maven


0

หากทุกอย่างอื่นล้มเหลวให้ตรวจสอบว่าไฟล์ jar ในที่เก็บ. m2 ภายในเครื่องของคุณถูกต้องและไม่เสียหายหรือไม่ ในกรณีของฉันไฟล์นั้นยังไม่ได้ดาวน์โหลดทั้งหมด


0

ใน Maven การพึ่งพาได้รวมไว้สำหรับฉันเมื่อฉันลบส่วนการพึ่งพาการจัดการ XML และเพิ่งมีการพึ่งพาโดยตรงภายใต้ส่วนโครงการ


0

ปัญหาดูเหมือนว่าแม้จะมีรายการการขึ้นต่อกันของคุณใน pom.xml IntelliJ IDEA ไม่ได้สร้างการขึ้นต่อกันเหล่านั้นใหม่เมื่อคุณรันโครงการของคุณ

สิ่งที่ใช้ได้ผลสำหรับฉันคือ:

ไปที่ 'เรียกใช้' -> 'แก้ไขการกำหนดค่า ... ' ค้นหาแอปพลิเคชันของคุณตรวจสอบให้แน่ใจว่าส่วน "ก่อนเปิดใช้:" ขยายคลิกที่เครื่องหมายบวกสีเขียวแล้วเลือก "สร้างโครงการ"

ป้อนคำอธิบายรูปภาพที่นี่


0

ฉันสามารถแก้ไขของฉันได้โดยการเพิ่มบรรทัดของโค้ดนี้หลังจาก build แท็กในไฟล์ pom.xml ฉันเปรียบเทียบมันจากโปรเจคที่รันอยู่และค้นพบว่ามันต่างกันตอนนี้ฉันก็ทำได้ดีแล้ว

<repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.