2011-12-15 25 views
5

Tôi đang sử dụng Eclipse Indigo với Plugin m2e (Phiên bản 1.0.1). Tôi có hai dự án không gian làm việc riêng biệt: Một dự án Maven rằng về cơ bản là một widget Vaadin và một dự án Maven thứ hai đó là dự án chính của tôi đó là tham khảo widget mà với:Dự án phụ thuộc Maven cục bộ được tham chiếu như một thư mục lớp thay vì một cái bình

<dependency> 
    <groupId>com.mycompany.widget</groupId> 
    <artifactId>Calendar</artifactId> 
    <version>1.2</version> 
    <type>jar</type> 
</dependency> 

Nếu tôi chạy mvn clean install về dự án phụ tùng nó được đóng gói đúng như một cái bình và cũng có sẵn trong kho lưu trữ Maven cục bộ của tôi. Tôi cũng có thể sử dụng các lớp của widget trong dự án chính của tôi. Tuy nhiên, trong các phụ thuộc Maven của dự án chính của tôi, dự án widget được hiển thị như một thư mục lớp thay vì một jar (mặc dù tất cả các phụ thuộc phụ tùng bên ngoài khác được hiển thị dưới dạng tệp jar).

Điều này gây ra một số vấn đề khi tôi cố gắng giải nén (hoặc thậm chí sao chép) phụ thuộc vào dự án chính của tôi với sự phụ thuộc: unpack-dependencies (resp. Dependency: copy-dependencies). Các maven xây dựng không thành công với:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:unpack-dependencies (default-cli) on project [main project]: Error unpacking file: /.../Calendar/target/classes to: /.../[main-project]/target/classes 
[ERROR] org.codehaus.plexus.archiver.ArchiverException: The source must not be a directory. 

Câu hỏi của tôi là: Làm thế nào tôi có thể tham khảo dự án phụ tùng của tôi như là một cái bình thay vì một thư mục lớp trong dự án chính của tôi?

Trả lời

6

Chúng nằm trong các thư mục riêng biệt, phải không? Hãy thử cách này: Nhấp chuột phải vào dự án của bạn, chọn Maven -> Tắt Độ phân giải không gian làm việc.

Ngoài ra, hãy kiểm tra thuộc tính dự án và đảm bảo rằng dự án không được tham chiếu trong Đường dẫn xây dựng Java -> Dự án.

+0

Cảm ơn, tôi đã phải tắt độ phân giải không gian làm việc. Lỗi plugin phụ thuộc maven đã biến mất khi tôi bỏ chọn "Giải quyết các hiện vật không gian làm việc" trong Chạy cấu hình. – user1099501