Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDựa đề xuất hệ thống chuyển hướng không được đặt


86

Tôi vừa cài đặt Maven 3.3.1 trên Mac OS X và việc xây dựng Dự án Maven với Eclipse gặp phải lỗi này:

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

Điều đó đã không xảy ra trước đây với Maven 3.2.5.

Có cách nào để sửa lỗi này không (ngoại trừ việc hạ cấp xuống 3.2.5)?

Chính xác thì tôi có thể đặt thuộc tính "multiModuleProjectDirectory" này ở đâu trong Eclipse?


3
Đây là một lỗi m2e được nộp vào ngày 24 tháng 3 năm 2015 và kể từ đó đã được giải quyết. Vui lòng xem stackoverflow.com/a/29735560/751158.
ziesemer

Câu trả lời:


191

Trong Eclipsebạn cần phải đi như thế này.

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

Trong bản chỉnh sửa, Default VM argumentsbạn cần đặt

Nếu bạn đã đặt maven home.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Tôi không biết tại sao, nhưng khi bạn chạy một tùy chọn maven như clean trong Eclipse, nó sẽ cho thấy điều đó là cần thiết.
Diego Macario

5
@atamanroman và tất cả - đây là một lỗi m2e được nộp vào ngày 24 tháng 3 năm 2015 và kể từ đó đã được giải quyết. Vui lòng xem stackoverflow.com/a/29735560/751158 .
ziesemer

Bạn cũng có thể thêm các args VM từ Run Configuration -> Maven Build. Chọn cấu hình khởi chạy của bạn và mở tab JRE. Thêm -Dmaven.multiModuleProjectDirectory=$M2_HOMEvào hộp văn bản đối số VM.
Bogie

Tôi đã làm theo giải pháp và vẫn gặp lỗi tương tự, đó là do dự án maven có tham chiếu đến jre 1.7 Nhưng JAVA_HOME đã được đặt thành jre1.8. đường dẫn đã giải quyết vấn đề.
Shubha S

21

Trong IntelliJ, bạn có thể đặt tùy chọn này trong trường Tùy chọn VM mà bạn có thể tìm thấy trong chế độ xem cấu hình tiếp theo:

Tùy chọn / Xây dựng, thực thi, triển khai / Công cụ xây dựng / Maven / Runner

nhập mô tả hình ảnh ở đây


Ngoài ra nó làm việc cho IntelliJ Idea 14.0 với Maven 3.3.9
Dreamcatcher

17

Đây là lỗi với m2e trong Eclipse tại https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 , do những thay đổi trong Maven 3.3.1.

Điều này được cố định trong m2e 1.5.2 kể từ ngày 4 tháng 4 năm 2015. Đây là bản phát hành có sẵn có thể được cài đặt từ http://download.eclipse.org/technology/m2e/releases/ .

(Không cần thay đổi đối số JVM cho toàn bộ không gian làm việc hoặc cho các cấu hình khởi chạy cụ thể.)


1
Tôi nhận được: 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 + những người khác
Mykel Alvis

Phiên bản mới nhất 1.5.x nên ở đây: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

7

Xác định như thế này trong các tùy chọn JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Chính xác thì tôi có thể đặt Tùy chọn JVM của Dự án trong Eclipse ở đâu?
Bob

1
PROJECT_DIR có ý nghĩa hơn M2_HOME.
atamanroman

1
biến đó không tồn tại - những gì bạn thực sự đang cố gắng đề cập đến là $ PROJECT_LOC
specializt

3

Trong trường hợp bạn có thông báo lỗi này trên dòng lệnh của mình, hãy xác minh xem biến PATH của bạn có trỏ đến cùng một apache-maven-3.X.X/binthư mục cài đặt maven với biến M2_HOME của bạn hay không. Trong trường hợp của tôi, tôi đã trộn hai phiên bản dẫn đến lỗi này.


2

chạy cấu hình, tạo maven buildcấu hình khởi chạy mới trong tab đầu tiên, bạn điền vào thư mục cơ sở và mục tiêu, sau đó, đi tới jre tabvà thêm vào vm argscấu hình này:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

đâu M2_HOMElà một biến môi trường trỏ đến thư mục cơ sở của cài đặt maven của bạn



2

Tôi gặp vấn đề tương tự với phiên bản Maven 3.3 và 3.2, vì vậy tôi quyết định hạ cấp nó xuống phiên bản 3.0.5 và nó hoạt động tốt.


0

tôi đã gặp vấn đề tương tự với intelliJ 14, tôi đã thử các giải pháp khác nhau được cung cấp tại các diễn đàn nhưng không hiệu quả. Những gì tôi đã làm là tôi gỡ cài đặt hoàn toàn intellij và cài đặt intellij 15.0.1 và nhập cùng một dự án sau đó tất cả hoạt động tốt.


0

Để đặt thuộc maven.multiModuleProjectDirectorytính vĩnh viễn trong Maven, tôi đã thêm một cấu hình được kích hoạt mặc định khởi tạo thuộc tính với biến môi trường MAVEN_HOME trong settings.xmltệp. Hoặc bạn cũng có thể sử dụng biến môi trường M2_HOME .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.