2010-11-25 35 views
6

Tôi vừa thiết lập một cài đặt hoàn toàn mới của Eclipse Helios và đã định cấu hình M2Eclipse để sử dụng cài đặt Maven bên ngoài (v 2.2.1). hệ thốngTại sao M2Eclipse phàn nàn về việc thiếu đồ tạo tác khi dòng lệnh mvn không?

Các biên dịch tốt trên dòng lệnh, nhưng từ bên trong M2Eclipse nhiều các module dự án của tôi có một lỗi:

Missing artifact javax.jms:jms:jar:1.1:test

tôi có thể vượt qua các lỗi bằng cách loại trừ các jms tạo tác từ các phụ thuộc Atomikos . Nhưng câu hỏi chính của tôi là làm thế nào hai người có thể cung cấp các kết quả khác nhau!

Thậm chí kỳ quặc hơn nữa là tôi có một cài đặt Eclipse Helios khác và mọi thứ đều hoạt động tốt.

Trả lời

5

Trình phân giải phụ thuộc trong m2eclipse không sử dụng cài đặt Maven bên ngoài, nó phải sử dụng phiên bản Maven được nhúng. Vì vậy, tôi khuyên bạn nên để có được phiên bản mới nhất của m2eclipse, cũng như phiên bản Maven 3.x để giảm thiểu sự khác biệt trong độ phân giải phụ thuộc.

+0

Vì vậy, M2Eclipse đã sử dụng M3 trong nội bộ? Dường như một chút đáng sợ mặc dù M2 và M3 cung cấp các độ phân giải phụ thuộc khác nhau .... mặc dù chỉ có 1 vật phẩm trong số hàng trăm. Cảm ơn vì tiền hỗ trợ. – HDave

+2

Vấn đề là lõi Maven 2.x không thực sự nhúng được. Maven 3.x kết hợp nhiều thay đổi để làm cho các thành phần bên trong hoạt động bên trong IDE. –

+0

Tôi phải đối mặt với cùng một vấn đề, và tôi đã có thể làm việc xung quanh nó mà không nhận được phiên bản mới nhất của maven. Thay vào đó, tôi đã đi đến Preferences-> Maven-> Installation và điền vào trường được đánh dấu "Cài đặt chung cho cài đặt được nhúng" với /Users/myName/.m2/settings.xml ... điều này làm việc cho tôi vì tôi có một mối quan hệ địa phương máy chủ phục vụ một số phụ thuộc dự án không có sẵn công khai. – pohl

3

Ngoài ra, có thể bạn đã có một số kho lưu trữ thay thế được xác định trong tệp 2.2.1 conf/settings.xml maven của bạn. Nếu bạn sử dụng maven3 nhúng thì chúng sẽ bị bỏ qua.

Bạn cũng có thể chỉ định cài đặt maven 2.2.1 của mình làm cài đặt maven cho m2eclipse.

+0

Như tôi đã đề cập trong bài viết gốc, tôi đã cài đặt 2.2.1 của tôi được cấu hình như cài đặt bên ngoài cho M2Eclipse. Vấn đề, theo Kuleshov ở trên là M2Eclipse sử dụng Maven3 bên trong của nó để giải quyết các phụ thuộc anyway. – HDave

1

Cùng một vấn đề ở đây: Tôi sử dụng maven 2.2.1 như quá trình cài đặt để sử dụng từ nhật thực, vì nó là một trong những hoạt động trên dòng lệnh. Maven 3 không hoạt động cho dự án cụ thể này, phàn nàn về một số phụ thuộc bị thiếu, sau nhiều nghiên cứu, trong trường hợp của tôi hóa ra là từ một kho lưu trữ maven cũ với bố cục cũ. Maven 3 ghét những thứ này và sẽ bật khóc khi tìm thấy chúng.

Vì vậy, maven 2 hoạt động tốt trên dòng lệnh, nhưng maven 3 thì không. Vấn đề với nhật thực là ngay cả khi bạn chỉ định maven 2 làm cài đặt để xây dựng các dự án của bạn, nó sử dụng maven 3 (cài đặt nhúng) cho độ phân giải phụ thuộc, vì vậy nếu bạn không may mắn yêu cầu kho lưu trữ cũ , nhật thực sẽ không giúp ích gì).

Các vấn đề liên quan