แนวคิด Intellij ไม่สามารถแก้ไขสิ่งใด ๆ ใน Maven ได้


130

ฉันใหม่สำหรับ Intellij Idea ฉันเพิ่งนำเข้าโครงการด้วยpom.xmlแต่ IDE ไม่ได้แก้ไขสิ่งใด ๆ ในการพึ่งพา Maven

สิ่งที่กำหนดไว้ในการpom.xmlอ้างอิงเมื่อนำเข้าในรหัสเพิ่มข้อผิดพลาดcannot resolve symbol xxxxx

แต่mvn installจะใช้งานได้ฉันลองนำเข้าการพึ่งพาในProject Settings/Librariesใน.jarไฟล์จากนั้นก็ใช้งานได้ แต่ ide สามารถแก้ไขไลบรารีที่กำหนดไว้ได้pom.xmlหรือไม่ ฉันไม่ต้องการที่จะทำเช่นนั้นทุกครั้ง

ข้อมูลเพิ่มเติม:

รุ่น IDEA: 12.0.3, OS: windows 7, การนำเข้าไม่ทำงาน, เวอร์ชัน maven: 3.0.4, การพึ่งพา maven ไม่มีอยู่ภายใต้ Exernal Libraries

ไม่มีข้อยกเว้นใน idea.log ...


รุ่น IDEA มีข้อยกเว้นใด ๆ ที่เกี่ยวข้องในidea.logหรือไม่ รุ่น Maven? ระบบปฏิบัติการใดที่คุณใช้ ปุ่ม Reimport ทำงานในMaven Projectsหน้าต่างเครื่องมือหรือไม่ คุณเห็นการอ้างอิงภายใต้External LibrariesโหนดในProject View?
CrazyCoder

รุ่น IDEA: 12.0.3, OS: windows 7, การนำเข้าไม่ทำงาน, เวอร์ชัน maven: 3.0.4, การพึ่งพา maven ไม่มีอยู่ภายใต้ Exernal Libraries
ระเบิด

ไม่มีข้อยกเว้นใน idea.log ...
Burst

ลองIDEA 12.1เปิดใช้งานMaven 3ในSettings| Maven| Importingกำหนดค่าเครือข่ายนอกจากนี้ยังอาจส่งผลกระทบต่อมัน
CrazyCoder

ขอบคุณสำหรับคำตอบของคุณตอนนี้ทำงานได้ แต่ยังคงมีปัญหา: การพึ่งพาซึ่ง scope = ระบบจะไม่ถูกปรับใช้เมื่อทำงานใน Tomcat
ระเบิด

คำตอบ:


118

ใน IntelliJ 12.1.4 ฉันผ่านSettings --> Maven --> Importingและตรวจสอบให้แน่ใจว่าได้เลือกสิ่งต่อไปนี้:

  1. นำเข้าโครงการ Maven โดยอัตโนมัติ
  2. สร้างโมดูล IDEA สำหรับโครงการรวม
  3. เก็บที่มา ...
  4. ไม่รวมการสร้าง dir ...
  5. ใช้เอาต์พุต Maven ...
  6. สร้างโฟลเดอร์ souces: "ตรวจหาอัตโนมัติ"
  7. เฟสที่จะเป็น ... : "กระบวนการทรัพยากร"
  8. ดาวน์โหลดโดยอัตโนมัติ: "แหล่งที่มา" & "เอกสาร"
  9. ใช้ Maven3 เพื่อนำเข้าโครงการ
    • ตัวเลือก VM สำหรับผู้นำเข้า: -Xmx512m

สิ่งนี้ทำให้ฉันมีงบการนำเข้าที่ยังไม่ได้แก้ไขจำนวนมากไปจนถึงการแก้ไขทุกอย่าง ฉันคิดว่ากุญแจสำคัญในที่นี้คือการใช้ Maven3 เพื่อนำเข้าโครงการ ... หวังว่านี่จะช่วยได้


15
นี่เป็นสิ่งที่ดี แต่ฉันก็ต้องโหลดโครงการเป็นโครงการ Maven - เลือกไฟล์ | เปิด pom.xml ของคุณแล้วรอ
MaKri

3
ทั้งคำตอบนี้และความคิดเห็นแรกช่วยแก้ไขปัญหาของฉัน ขอบคุณเพื่อน!
miken.mkndev

ฉันต้องการเพิ่มหน่วยความจำสำหรับผู้นำเข้าให้ดียิ่งขึ้นและในที่สุดก็ใช้ -Xmx4096m (มันเป็นโครงการขนาดใหญ่) สิ่งนี้แตกต่างจากการตั้งค่าหน่วยความจำในความคิด vmoptions!
Yasammez

ขอบคุณฉันมีปัญหาที่ Maven 3.0.5 (รวม) จะทำให้ไม่มีการพึ่งพา Maven ที่นำเข้า แต่การอัปเดตเพื่อใช้ 3.3.9 อนุญาตให้การอ้างอิงทั้งหมดนำเข้าอย่างถูกต้อง
Matthew Buckett

ไม่แน่ใจว่าทำไม IDEA ไม่มีเมนูบริบทคล้ายกับ Eclipse เพื่อสร้างโปรเจ็กต์ที่ใช้ Maven ด้วยเวอร์ชัน 2017.2 คุณต้องทำไฟล์> การตั้งค่าอื่น ๆ > การตั้งค่าเริ่มต้น> ค้นหา maven ในช่องค้นหา IDEA นั้นมี UX ที่แย่มากเมื่อเทียบกับ Eclipse
vikramvi

116

ฉันพบปัญหานี้, ความคิดไม่สามารถดาวน์โหลดแพ็กเกจ jar ทั้งหมดที่ใช้ maven ได้ฉันลองดำเนินการดังต่อไปนี้:

 mvn -U idea:idea

จากนั้นแพ็กเกจ jar ที่อ้างอิงทั้งหมดจะถูกดาวน์โหลดจากที่เก็บ maven


4
หมายเหตุ: ปลั๊กอินนี้ถูกยกเลิก มันไม่ได้รับการบำรุงรักษาอีกต่อไป maven.apache.org/plugins/maven-idea-plugin
petertc

6
มันเป็นทางออกเดียวจากหน้านี้ที่เหมาะกับฉันด้วย !!
nahab

ฉันเผชิญกับปัญหานี้มานานแล้วและสิ่งนี้ทำให้วันของฉัน (/ วัน) ... ขอบคุณมาก !!
codeMan

มันมีประโยชน์สำหรับฉัน ขอบคุณ.
Anna Kaygorodova

3
ใครสามารถอธิบายได้ว่าทำไมสิ่งนี้ถึงใช้งานได้ นี่เป็นทางออกที่ดีสำหรับฉันแม้จะมีปลั๊กอินที่ยกเลิกแล้วในเดือนธันวาคม 2017
Z3d4s

34

ฉันยังได้รับข้อผิดพลาดนี้เนื่องจากโครงการนำเข้าโฟลเดอร์หลักและทดสอบเป็นโมดูล คลิกที่โครงการ -> กด F4 -> ในการตั้งค่าโมดูลลบโฟลเดอร์หลักและทดสอบและสร้างโครงการอีกครั้ง ปัญหาจะได้รับการแก้ไข


1
นี่กลายเป็นปัญหาของฉันหลังจากนำเข้าโครงการ Maven ที่มีอยู่ไปยัง IntelliJ 14.0.3 และเลือกตัวเลือกเริ่มต้นทั้งหมดในระหว่างกระบวนการนำเข้า
Nate R.

หลังจากผ่านไปหลายชั่วโมงการค้นหาสิ่งนี้ทำให้ฉันได้ อวยพร!
SourceVisor

สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน! ไม่มีใครรู้ว่าทำไมการแก้ไขนี้แบ่ง?
dmi_

สิ่งนี้ใช้ได้ผลกับฉันนี่เป็นวิธีที่ง่ายที่สุดที่ฉันพยายามทำ .. ขอบคุณ!
rrw

1
+1 ... นี่เป็นการหลอกลวงสำหรับฉันทั้งหมด ทุกอย่างดูเหมือนว่าจะตั้งค่าได้ดี pom.xml ถูกอ่านห้องสมุดนำเสนอ แต่จำเป็นต้องทำเช่นนี้เพื่อให้ได้ข้อผิดพลาดหายไป
davesbrain

34

ฉันพบปัญหานี้เมื่อใช้อินสแตนซ์ที่รวม Maven 3 ของ IntelliJ 14

ฉันเปลี่ยนมาใช้อินสแตนซ์ Maven ในพื้นที่ของฉันเองผ่าน:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

จากนั้นเพิ่มเส้นทางไปยังอินสแตนซ์ที่ติดตั้งในเครื่องของฉันป้อนคำอธิบายรูปภาพที่นี่

เรื่องนี้มีการพึ่งพาที่จะปรากฏขึ้นอย่างน่าอัศจรรย์

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


1
เหลือเชื่อ. อันนี้ใช้ได้สำหรับฉันหลังจากปวดหัวมาก ฉันดาวน์โหลด maven 3.5 จากอินเทอร์เน็ต ขอบคุณมาก !!
sumanth232

บันทึกวันของฉัน !! ขอขอบคุณ Conor
Dota2

ว้าวมันให้ความรู้สึกเหมือนมีอะไรบางอย่างในใจที่ไม่ได้ถูกเปิดเผยหลังจากทำกลอุบายนี้ ขอบคุณคอนเนอร์
Bnrdo

Geez ฉันไม่เคยคิดว่าจะไม่ใช้ maven เวอร์ชันรวมและใช้งานของฉันเอง มันทำงานได้อย่างสมบูรณ์หลังจากใช้เวลาสองสามชั่วโมงในการทดลองทุกสิ่ง
เซน

สุดยอด !! ที่ทำงานเหมือนสายลม ขอบคุณสำหรับความช่วยเหลือ
Sanjeev

10

ฉันลองตัวเลือกหลายตัว แต่ในที่สุดอันนี้ก็แก้ปัญหาของฉันได้ ฉันนำเข้าโครงการอีกครั้งโดยทำตามขั้นตอนเหล่านี้ใน IntelliJ:

  1. ไฟล์ -> ใหม่ -> โครงการจากที่เก็บที่มีอยู่
  2. เลือกโครงการของคุณจาก 'เลือกไฟล์หรือไดเรกทอรีที่จะนำเข้า'

  3. ในหน้าจอถัดไปเลือก 'นำเข้าโครงการจากรุ่นภายนอก' แล้วเลือก 'Maven

  4. ในขั้นตอนถัดไปคลิกช่องทำเครื่องหมาย ' นำเข้าโครงการ Maven โดยอัตโนมัติ ' (ที่แก้ไขปัญหาของฉัน)
  5. เสร็จสิ้นโดยเลือกโปรไฟล์หากจำเป็น

สำหรับฉันการนำเข้าโครงการ Maven อีกครั้งไม่ได้แก้ปัญหาสำหรับโครงการที่มีอยู่


5

สำหรับฉันปัญหาที่ฉันต้องทำเครื่องหมายในช่อง "นำเข้าโครงการ Maven อัตโนมัติ" ภายใต้การตั้งค่า> Maven> การนำเข้า


ขอบคุณ! ยังคงเป็นโซลูชั่นที่ทันสมัยสำหรับ Intellij IDEA 2016 การนำเข้า Maven ได้รับอนุญาตให้เปิดโครงการ Maven ที่มีอยู่ต่อเนื่องไม่เหมือนโครงการเปิดซึ่งทำให้เกิดปัญหาการพึ่งพาหลาย!
Exterminator13

5

เพิ่งพบปัญหาเดียวกันหลังจากอัพเดต IntelliJ การแก้ไขของฉัน: คลิกขวาที่โครงการแล้ว Maven -> นำเข้าอีกครั้ง


5
  1. ปิด IntelliJ
  2. เปิดโครงการเดียวกัน
  3. เมื่อโครงการโหลดขึ้นที่ด้านล่างขวาคุณจะเห็นป๊อปอัปบอกว่าnon-managed pom.xml file foundถ้าคุณคลิกที่ป๊อปอัพใหม่จะมาพูดว่าadd as maven projectคลิกที่มันและทำ

4

ฉันได้รับข้อผิดพลาดนี้เนื่องจากโครงการของฉันไม่ได้ตั้งค่าอย่างถูกต้อง มีการนำเข้าโฟลเดอร์หลักและโฟลเดอร์ทดสอบเป็นโมดูล เมื่อฉันลบ 2 โมดูล (แต่เก็บไว้เป็นซอร์สและโฟลเดอร์ทดสอบ) รหัสของฉันเริ่มต้นรวบรวมอย่างถูกต้อง


4

ฉันมีปัญหาเดียวกันกับผู้เขียน!

เพื่อแก้ปัญหาของฉันฉันต้องเพิ่ม Maven Integration Plugin: ไฟล์ | การตั้งค่า | ปลั๊กอิน

แบบนี้:

ปลั๊กอินการรวม Maven

หลังจากนั้น Intellij ดาวน์โหลดการอ้างอิงทั้งหมดจากไฟล์ pom.xml

ตอนนี้ถ้าฉันต้องการสร้างโครงการตามแบบ maven ฉันแค่เลือกเปิดในหน้าต่าง Intellij แรกและเลือกไฟล์ pom.xml:

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


นี้ได้เคล็ดลับสำหรับฉัน. ด้วยเหตุผลบางอย่างที่ฉันลองนำเข้าโครงการ (โครงการ Maven ขนาดใหญ่ที่มีโมดูลย่อยจำนวนมาก)
Torbjørn Kristoffersen

2

หากคุณนำเข้าโครงการ Maven ใน IntelliJ และมีข้อผิดพลาดเนื่องจากการนำเข้า Maven ไม่ได้รับการแก้ไขอาจเป็นเพราะการตั้งค่า Maven Maven ที่กำหนดเองที่คุณอาจใช้ ฉันพยายามเอาชนะมันในการตั้งค่า Maven เริ่มต้นของ Intellij แต่ก็ไม่ได้ช่วยอะไร ในที่สุดฉันก็ต้องเก็บไว้ใน ~ / .m2 / settings.xml และในที่สุด IntelliJ ก็ให้เกียรติมัน


นั่นคือการตั้งค่าเริ่มต้นใช่ไหม
rogerdpack

2

ฉันมีไฟล์ settings.xml ว่างใน Users /.../. m2 / settings.xml เมื่อฉันเพิ่ม

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

โหลดทั้งหมดขึ้นอยู่กับ


1

ในการตั้งค่า -> Maven -> ที่เก็บมีเพียงที่เก็บข้อมูลบางอย่างที่กำหนดค่าในการตั้งค่าของฉันที่แสดง

วิธีแก้ปัญหา

อาจเป็นข้อผิดพลาด (Idea 13.1.5 Ultimate) มันช่วยให้ฉันเปลี่ยนกระจก รายการที่ไม่แสดงขึ้นด้านบน


1

ด้วย intelliJ 16.1.4 ฉันมีปัญหาเดียวกัน คุณควรจะดูที่บันทึกเหตุการณ์เพราะมันบอกฉันว่า "พบไฟล์ pom.xml ที่ไม่ได้รับการจัดการ: ... " จากนั้นฉันคลิกมันแล้วปัญหาได้รับการแก้ไข


1

ในกรณีของฉันฉันขยายพาเนลโครงการ maven ทางด้านขวาคลิก + และเพิ่มโครงการ จากนั้นก็ใช้งานได้


1

หากคุณมีการอ้างอิงใด ๆ ใน pom.xml ที่เฉพาะเจาะจงกับองค์กรของคุณมากกว่าที่คุณต้องอัปเดตพา ธ ของ setting.xml สำหรับโครงการของคุณซึ่งโดยค่าเริ่มต้นจะตั้งค่าเป็นไดเรกทอรีผู้ใช้ของคุณใน Ubuntu: /home/user/.m2/settings.xml - > (เปลี่ยนเป็นเส้นทาง conf apache-maven ของคุณ)

อัปเดตไฟล์ Setting.xml Intellij


0

3 ขั้นตอนง่ายๆ: IntelliJ 14:

  1. ไฟล์> การตั้งค่า> สร้างการดำเนินการปรับใช้> เครื่องมือสร้าง

  2. เลือก Maven

  3. โฮมไดเรกทอรี Maven: C: / ไฟล์โปรแกรม / apache-maven-3.3.3 (ตำแหน่งเทียบเท่าของคุณ)


0

โปรดทราบว่าIntelliJ เพิ่มคลาสการติดตั้ง Maven ในพื้นที่ของคุณให้กับ classpath ของตัวเองดังนั้นโปรดอัพเดตให้ทันสมัย

ในกรณีของฉัน IntelliJ org.eclipse.aether.util.ConfigUtils.getFloat()พยายามที่จะเรียกวิธีการ สิ่งนี้ทำให้เกิดjava.lang.NoSuchMethodErrorเพราะรุ่น Maven อายุปีของฉันยังไม่มีวิธีนี้ เนื่องจากข้อยกเว้น IntelliJ หยุดแก้ไขการอ้างอิง

หลังจากอัปเดต Maven แล้วคุณต้องเปลี่ยนการตั้งค่า "Maven home directory" ใน "Build, Execution, Deployment" -> "Maven" หลังจากนั้นคุณต้องรีสตาร์ท IntelliJ เนื่องจากคลาสพา ธ ของ JVM ของ IntelliJ จะไม่เปลี่ยนแปลงในขณะที่ทำงาน

ฉันใช้เวลาพอสมควรในการแก้ปัญหานี้เนื่องจากฉันไม่ได้คาดหวังว่า IntelliJ จะใช้คลาสของการติดตั้ง Maven ในพื้นที่ของฉัน ฉันคิดว่ามันใช้ JAR แบบรวมของตัวเอง หวังว่าข้อมูลนี้จะเป็นประโยชน์สำหรับผู้อื่น


0

<option name="workOffline" value="true" />ในworkspace.xmlไม่ใช่เพื่อนของคุณ แนะนำให้ตรวจสอบสิ่งนี้ก่อนที่จะลบ.idea(ซึ่งมีการตั้งค่าที่มีประโยชน์มากมายที่คุณอาจไม่ต้องการสูญเสีย)

มันเป็นการworkspace.xmlตั้งค่าMaven


0

สำหรับฉันแล้วดูเหมือนว่าการแก้ปัญหานี้มีมากมายและดูเหมือนเป็นเวทมนตร์ สำหรับฉันแล้วการทำให้แคชใช้ไม่ได้การนำเข้าใหม่หรือสิ่งอื่น ๆ ที่กล่าวถึงแล้วไม่ทำงาน สิ่งเดียวที่ช่วยได้คือ (โดยไม่ต้องนำเข้าอีกครั้ง) ไปที่การตั้งค่า Maven ยกเลิกการเลือกการนำเข้าอัตโนมัติและตรวจสอบอีกครั้ง

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


0

มีปัญหากับรุ่น Maven ที่ให้มา เป็นคนแนะนำก่อนหน้านี้ฉันเปลี่ยนไปใช้การติดตั้ง Maven ของฉันเองและการอ้างอิงทำงานได้อย่างน่าอัศจรรย์ (IntelliJ 2018.3)


0

ฉันมีเพียงแค่มีปัญหานี้เมื่อมีการเพิ่มองค์ประกอบไป<dependency>...</dependency> <profile>ฉันเพิ่งพบว่าถ้าฉันเพิ่ม (แทรก) องค์ประกอบอ้างอิงที่ไม่ได้แก้ไขไปยัง<dependencies>องค์ประกอบอ้างอิงจะถูกดาวน์โหลดจากที่เก็บ Maven; ฉันสามารถลบองค์ประกอบการพึ่งพาจากองค์ประกอบการอ้างอิง


0

การใช้ maven เริ่มต้น (ซึ่งมาพร้อมกับ IntelliJ) สามารถสร้างปัญหานี้ได้เช่นกัน ดังนั้นกำหนดค่า maven ที่คุณติดตั้ง

สิ่งนี้สามารถทำได้จาก: ไฟล์ -> การตั้งค่า -> Build, Execution, Deployment -> Maven

อัพเดตการตั้งค่าต่อไปนี้ตามการติดตั้ง maven ของคุณ:

  1. ไดเรกทอรีบ้าน Maven =
  2. ไฟล์การตั้งค่าผู้ใช้ =
  3. ที่เก็บในเครื่อง =

0

โอเคฉันกำลังประสบปัญหานี้หลายวัน กำลังพยายามนำเข้าไลบรารี POI และไลบรารี JSON อย่างง่ายฉันลองคำตอบทั้งหมดที่เสนอมาแล้ว ในที่สุดทางออกสำหรับคดีของฉันก็ค่อนข้างง่าย

ฉันต้องการเพิ่มสิ่งต่อไปนี้ในไฟล์ module-info.java ของฉันหลังจากใส่การอ้างอิงในไฟล์ POM ของฉัน:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

ดังนั้นฉันคิดว่าเพราะโครงการของฉันอยู่ในแพ็คเกจในโมดูลฉันต้องทำสิ่งนี้เพื่อให้ระบบทราบว่าจะใช้ไลบรารีที่นำเข้าเหล่านี้ ง่ายมากให้ใส่ชื่อไลบรารีหลังจากต้องการในไฟล์ module-info.java ของคุณ

หวังว่ามันจะเหมาะกับคุณ


0

ไปที่ไลบรารีภายนอกและลบไลบรารีทั้งหมดที่ระบุว่า root หลังจากคลิกที่นำเข้าโครงการทั้งหมดอีกครั้ง

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

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