intellij - ไม่รู้จักสปริง (การกำหนดค่าสปริงที่ไม่ได้แมป)


98

ฉันใช้ IntelliJ IDEA และปลั๊กอินทั้งหมดสำหรับ Spring ถูกเปิดใช้งาน แต่เมื่อฉันโหลดโครงการ Maven ฉันมีข้อผิดพลาดต่อไปนี้:


พบไฟล์คอนฟิกูเรชันSpring Configuration Check ที่ไม่ได้แมป
โปรดกำหนดค่า / ตั้งค่า Spring facet สำหรับโมดูล

มีความคิดใดที่ทำให้ไม่สามารถกำหนดค่าโดยอัตโนมัติได้


7
ฉันต้องการเพิ่มข้อมูลเพิ่มเติมในคำถาม เมื่อป๊อปอัปนี้มาหมายความว่า Intellij กำลัง "สงสัย" ว่าคุณมีไฟล์บางไฟล์ในโมดูลของคุณของโครงการที่เปิดอยู่ซึ่งควรเป็น SPRING BEANS และคุณสามารถระบุ "บริบท" ในฤดูใบไม้ผลิให้กับพวกเขาและยืนยัน Intellij ว่าพวกเขา เป็นถั่วสปริงในโครงการของคุณดังนั้นในครั้งต่อไปเมื่อคุณเล่นกับไฟล์เหล่านี้ Intellij สามารถให้คำแนะนำเฉพาะเกี่ยวกับรหัสถั่วสปริง / การแก้ไขโค้ดได้ ไม่เป็นอันตรายหากคุณเพิกเฉยต่อป๊อปอัปนี้ แต่ถ้าคุณใช้ IDE ที่หลากหลายทำไมคุณถึงพลาดสุดยอด
Bhavesh Agarwal

คำตอบ:


99

เพื่อชี้แจงคำตอบข้างต้นคุณต้องทำสิ่งต่อไปนี้:

  1. ไปที่กล่องโต้ตอบโครงสร้างโครงการ (โดยคลิกคำเตือนหรือผ่านไฟล์ => โครงสร้างโครงการ
  2. เลือกรายการโมดูลในรายการด้านซ้ายมือ
  3. ผ่านไปและคลิกขวาที่โมดูลที่มีไฟล์หายไปและเลือกAdd => Spring
  4. ในแท็บใหม่คลิกปุ่ม +
  5. ตอนนี้คุณควรเห็นรายการไฟล์ xml เลือกช่องข้างๆ

ฉันไม่ชัดเจนว่าสิ่งนี้ประสบความสำเร็จอะไรนอกเหนือจากการกำจัดคำเตือน! หากใครสามารถให้ความกระจ่างได้ก็คงจะดี


เมื่อการกำหนดค่าถูกแมป ฉันคิดว่าเมื่อคุณใช้ถั่วสปริงจากโค้ดไอคอนจะปรากฏขึ้นเมื่อคลิกซ้ายซึ่งจะนำคุณไปสู่คำจำกัดความของถั่วในด้าน XML และในทำนองเดียวกันเมื่อคุณเลื่อน throw xml ไอคอนจะปรากฏทางด้านซ้ายซึ่งจะแสดงการใช้งานของ bean นี้ในคลาสต่างๆ ฉันใช้ IntelliJ Ultimate edition 14
pshirishreddy

@pshirishreddy ดูเหมือนว่าจะทำงานได้เล็กน้อยสำหรับฉัน เรามีบริบทแอปพลิเคชันหลายรายการสำหรับการตั้งค่าการทดสอบที่แตกต่างกัน
JonnyRaa

10

คุณต้องตรวจสอบว่า IntelliJ จะใช้การกำหนดค่าใดในการตรวจสอบถั่วแบบมีสาย

ไปที่FileProject Structure➝ ➝Project SettingsModules

เลือกโมดูลของคุณและเลือก (หรือเพิ่ม) Spring facet
ในพื้นที่ด้านขวาคุณสามารถเพิ่มหรือแก้ไขบริบทของแอปพลิเคชันที่โมดูลของคุณใช้ เพียงตรวจสอบทุกการกำหนดค่าที่คุณต้องการในบริบทของคุณ


3
ในขณะที่ฉันควรทำด้วยตนเอง? เพื่อนร่วมงานของฉันไม่มีปัญหาเดียวกัน มีการกำหนดค่าล่วงหน้าเมื่อนำเข้าโครงการ คำถามของฉันคือสิ่งที่ฉันทำผิดที่ป้องกันไม่ให้ถูกกำหนดค่าโดยอัตโนมัติ
akaliza

ฉันไม่รู้วิธีอื่นใดที่จะทำด้วยตนเอง เท่าที่ฉันรู้ก็ไม่ได้ใช้การเปลี่ยนแปลงเหล่านั้นโดยอัตโนมัติ
บาร์ต

1
ก็คือคุณต้องยอมรับการคลิกลิงก์ที่ระบุว่า "กำหนดค่า" เมื่อนำเข้าโครงการ
akaliza

จะเก็บไว้ในใจในครั้งต่อไปที่จะปรากฏขึ้น :)
บาร์ต

4

นอกเหนือจากขั้นตอนข้างต้น (ในคำตอบของบาร์ต) ฉันต้องทำ

 1. click on the unmapped spring beans from the warning dialog box 
 2. select all the beans file
 3. set application context as "Spring Application Context" (You many want to change it to other contexts, if you need)

และมันได้ผลสำหรับฉัน


2

ฉันแค่อยากจะเพิ่มว่าสำหรับโครงการของเรา (คิดที่ 13) กำลังมองหาที่FileProject StructureProject SettingsModules(ฤดูใบไม้ผลิ) ทุกอย่างมองที่ถูกต้อง แต่แล้วเมื่อคุณเน้นทั้งหมดของพวกเขาและคลิกแก้ไขดินสอนั่นคือเมื่อเราอย่างแท้จริงจะได้เห็นคนที่ มันกำลังบ่นเกี่ยวกับ ในกรณีของเราพวกเขาทั้งหมดอยู่ในไดเร็กทอรีสงครามระเบิดของเราดังนั้นพวกเขาจึงปรากฏตัวหลังจากการสร้างเริ่มต้นทั้งหมดเท่านั้น


2

สถานการณ์เดียวกันกับทีมของฉันดูเหมือนว่า "นำเข้าโครงการ Maven โดยอัตโนมัติ" (การตั้งค่า / Maven / การนำเข้า) ไม่ได้รับการตรวจสอบในการติดตั้ง IntelliJ ใหม่

ดังนั้นตรวจสอบและในครั้งต่อไปที่คุณจะนำเข้าไฟล์ pom.xml โปรเจ็กต์ที่ใช้สปริงในหน้าต่าง "โครงการ Maven" จากนั้นหน้าต่างสีเขียวจะปรากฏขึ้นทางขวาและจะรอให้การตรวจสอบของคุณเรียกใช้การแยกวิเคราะห์ไฟล์การกำหนดค่า Spring ที่ตรวจพบ

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

แก้ไข: ในขณะนี้การใช้ JDK 1.7 แทน 1.8 + เริ่มต้นจาก "โปรเจ็กต์ว่างเปล่า" ที่เรียบง่ายพิเศษ (IntelliJ) ดูเหมือนว่าจำเป็นเช่นกันบนแล็ปท็อปของเพื่อนร่วมงานคนอื่น


2

หากคุณต้องการปิดการแจ้งเตือนเพียงแค่ทำสิ่งนี้:

IntelliJ > Preferences > Notifications > Spring Configuration Check > No popup

ฉันจะค้นหาการตั้งค่านี้สำหรับ IntelliJ เวอร์ชัน 14 Ultimate ได้ที่ไหน
atom88

ดูเหมือนว่าสำหรับ IntelliJ 14, Ultimate คุณสามารถพบได้ที่นี่: การตั้งค่า | ลักษณะและพฤติกรรม | การแจ้งเตือน | Spring Configuration Check
atom88
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.