Maven 3.3.1 ECLIPSE: ไม่ได้ตั้งค่าความเหมาะสมของระบบ -Dmaven.multiModuleProjectDirectory


86

ฉันเพิ่งติดตั้ง Maven 3.3.1 บน Mac OS X และการสร้าง Maven Project ด้วย Eclipse ทำให้ฉันมีข้อผิดพลาดนี้:

-Dmaven.multiModuleProjectDirectory system property is not set.
Check $M2_HOME environment variable and mvn script match.

ไม่เคยเกิดขึ้นมาก่อนกับ Maven 3.2.5

มีวิธีใดบ้างในการแก้ไขปัญหานี้ (ยกเว้นการดาวน์เกรดเป็น 3.2.5)

ฉันจะตั้งค่าคุณสมบัติ "multiModuleProjectDirectory" ใน Eclipse ได้ที่ไหน


3
นี่เป็นข้อบกพร่องของ m2e ที่ยื่นเมื่อวันที่ 2015-03-24 และได้รับการแก้ไข โปรดดู stackoverflow.com/a/29735560/751158
ziesemer

คำตอบ:


192

ในEclipseคุณต้องไปเช่นนี้

Window-> Preference -> Java -> Installed JREs -> Edit

ในการแก้ไขDefault VM argumentsคุณต้องใส่

หากคุณตั้งค่า maven home แล้ว

-Dmaven.multiModuleProjectDirectory=$M2_HOME

ฉันไม่รู้ว่าทำไม แต่เมื่อคุณเรียกใช้ตัวเลือก maven เช่น clean ใน Eclipse มันจะแสดงว่าจำเป็น
Diego Macario

5
@atamanroman และทั้งหมดนี้เป็นข้อบกพร่องของ m2e ที่ยื่นเมื่อวันที่ 2015-03-24 และได้รับการแก้ไขแล้ว โปรดดูstackoverflow.com/a/29735560/751158
ziesemer

คุณยังสามารถเพิ่ม args VM จากRun Configuration -> Maven Build. JREเลือกการกำหนดค่าการเปิดตัวของคุณและเปิดแท็บ เพิ่ม-Dmaven.multiModuleProjectDirectory=$M2_HOMEในกล่องข้อความอาร์กิวเมนต์ VM
โบกี้

ฉันทำตามวิธีแก้ปัญหาและยังคงเห็นข้อผิดพลาดเดียวกันนั่นเป็นเพราะโครงการ maven มีการอ้างอิงถึง jre 1.7 แต่ JAVA_HOME ถูกตั้งค่าเป็น jre1.8 ทำให้โปรเจ็กต์ Maven ชี้ไปที่ jre 1.8 ในการกำหนดค่า Build path-> java build เส้นทางแก้ไขปัญหา
Shubha S

21

ใน IntelliJ คุณสามารถตั้งค่าตัวเลือกนี้ในฟิลด์ตัวเลือก VM ที่คุณสามารถพบได้ในมุมมองการกำหนดค่าถัดไป:

การตั้งค่า / สร้างการดำเนินการการปรับใช้ / สร้างเครื่องมือ / Maven / Runner

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


นอกจากนี้ยังใช้งานได้กับ IntelliJ Idea 14.0 พร้อม Maven 3.3.9
Dreamcatcher

17

สิ่งนี้ถูกยื่นเป็นบั๊กกับ m2e ใน Eclipse ที่https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944เนื่องจากการเปลี่ยนแปลงใน Maven 3.3.1

ค่านี้ได้รับการแก้ไขใน m2e 1.5.2 ณ 2015-04-13 นี้เป็นรุ่นที่สามารถติดตั้งได้จากhttp://download.eclipse.org/technology/m2e/releases/

(ไม่จำเป็นต้องเปลี่ยนอาร์กิวเมนต์ JVM สำหรับพื้นที่ทำงานทั้งหมดหรือสำหรับการกำหนดค่าการเปิดตัวเฉพาะ)


1
ฉันได้รับ: An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,org.aspectj.runtime.source,1.7.0.20120703164200 No repository found containing: osgi.bundle,org.eclipse.contribution.weaving.jdt.source,2.2.0.e37x-RELEASE-20120704-0900 + คนอื่น ๆ
Mykel Alvis

รุ่น 1.5.X ล่าสุดควรอยู่ที่นี่: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

7

กำหนดเช่นนี้ในตัวเลือก JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
ฉันจะตั้งค่าตัวเลือก JVM ของโปรเจ็กต์ใน Eclipse ได้ที่ไหน?
Bob

1
PROJECT_DIR เหมาะสมกว่า M2_HOME
atamanroman

1
ไม่มีตัวแปรนั้น - สิ่งที่คุณพยายามอ้างถึงคือ $ PROJECT_LOC
specializt

3

ในกรณีที่คุณมีข้อความแสดงข้อผิดพลาดนี้ใน commandline ของคุณโปรดตรวจสอบว่าตัวแปร PATH ของคุณชี้ไปที่apache-maven-3.X.X/binโฟลเดอร์การติดตั้ง maven เดียวกันกับตัวแปร M2_HOME ของคุณหรือไม่ ในกรณีของฉันฉันผสมสองเวอร์ชันซึ่งทำให้เกิดข้อผิดพลาดนี้


2

ไปที่เรียกใช้การกำหนดค่าสร้างmaven buildการกำหนดค่าการเปิดตัวใหม่โดยที่ในแท็บแรกคุณเติมไดเร็กทอรีฐานและเป้าหมายจากนั้นไปที่jre tabและเพิ่มในการกำหนดค่าvm argsนี้:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

M2_HOMEตัวแปรสภาพแวดล้อมที่ชี้ไปยังไดเร็กทอรีฐานของการติดตั้ง maven ของคุณอยู่ที่ไหน


2

หากคุณต้องการลองวิธีที่สองคุณสามารถลองดาวน์โหลดเส้นทางจากhttp://download.eclipse.org/technology/m2e/milestones/1.5/ http://download.eclipse.org/technology/m2e/milestones/1.5/

เปิดวิธีใช้> ติดตั้งซอฟต์แวร์ใหม่และดาวน์โหลดจาก url ด้านบน วิธีนี้ช่วยแก้ปัญหาของฉันได้


2

ฉันพบปัญหาเดียวกันกับ Maven 3.3 และ 3.2 เวอร์ชันดังนั้นฉันจึงตัดสินใจดาวน์เกรดเป็นเวอร์ชัน 3.0.5 และใช้งานได้ดี


0

ฉันมีปัญหาเดียวกันกับ intelliJ 14 ฉันลองใช้วิธีแก้ปัญหาต่างๆที่มีให้ในฟอรัม แต่ไม่ได้ผล สิ่งที่ฉันทำคือฉันถอนการติดตั้ง intellij และติดตั้ง intellij 15.0.1 อย่างสมบูรณ์และนำเข้าโครงการเดียวกันจากนั้นทุกอย่างก็ใช้ได้ดี


0

ในการตั้งค่าmaven.multiModuleProjectDirectoryคุณสมบัติอย่างถาวรใน Maven ฉันได้เพิ่มโปรไฟล์ที่เปิดใช้งานเริ่มต้นซึ่งเริ่มต้นคุณสมบัติด้วยตัวแปรสภาพแวดล้อมMAVEN_HOMEในsettings.xmlไฟล์ หรือคุณสามารถใช้ตัวแปรสภาพแวดล้อมM2_HOME

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.