2010-10-28 91 views
8

Tôi mới làm quen với Maven và tôi đã đọc tất cả các hướng dẫn buổi sáng (công cụ tuyệt vời).Cấu trúc thư mục Maven

Dự án Java mới này mà tôi bắt đầu xem xét tuy nhiên không sử dụng cấu trúc thư mục mặc định. Thay vì src/main/java cho các nguồn, nó sử dụng một cái gì đó như src/org/myapp.

Khi tôi chạy mvn package về dự án (nơi có pom.xml) Tôi nhận được thông báo cho biết không có Nguồn nào được biên soạn vì không thể tìm thấy chúng (đường dẫn nguồn khác nhau).

Có cách nào để chỉ định đường dẫn nguồn của riêng bạn trong Maven không?

Trả lời

10

Thêm sourceDirectory đến build thẻ trong file pom.

<build> 
    ... 
<sourceDirectory>src</sourceDirectory> 
    ... 
</build> 

Here là phần có liên quan trong tài liệu maven.

+0

Nhưng đang tạo một dự án mới từ thực đơn nhật thực và sử dụng nó để làm maven thực hành tốt? – zengr

+0

Tôi không nghĩ đó là một dự án mới. Có vẻ như anh ta đang cố gắng di chuyển một dự án hiện có (với một cấu trúc thư mục khác) để maven. Nhưng tôi có thể sai ... – dogbane

+0

@zengr, tôi không sử dụng Eclipse –

1

Bạn đã tạo dự án bằng cách nào? Ý tưởng cách tạo dự án maven mới là: mvn archetype:create và sau đó làm theo hướng dẫn.

đọc this để biết thêm chi tiết

Update để mở rộng bởi câu trả lời dựa trên URL:

mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] 
2

Về lý thuyết, bạn có thể sử dụng cấu trúc thư mục không chuẩn cho dự án Maven của mình. Trong thực tế, bạn có thể thấy rằng các trình cắm thêm Maven và tích hợp IDE khác nhau sẽ không hoạt động đúng. Vì vậy, tôi khuyên bạn nên tổ chức lại cấu trúc thư mục dự án của bạn là những gì Maven mong đợi ... trước khi bạn nhận được rất nhiều lịch sử kiểm soát phiên bản và các công cụ khác mà sẽ làm cho tổ chức lại đau đớn hơn.

+3

Tôi không đồng ý. Có những cách tiêu chuẩn cho một plugin được xử lý tốt để tìm hiểu cấu trúc thư mục là gì. Một plugin sử dụng 'model.getBuild(). GetSourceDirectory()' sẽ luôn luôn tìm thấy thư mục nguồn, bất kể nó ở đâu. Và một plugin mà chỉ cần kiểm tra cho 'tập tin mới (" src/main/java ")' có lẽ là một plugin khá xấu trong các khía cạnh khác, quá. –

+0

Nhưng tôi cũng đồng ý rằng bạn nên sử dụng cấu trúc tiêu chuẩn nếu bạn có lựa chọn. –

+0

@seanizer - vấn đề là các plugin và các công cụ khác không được kiểm tra tốt với các POM sử dụng cấu trúc thư mục không chuẩn. Và bạn có thể nhận được một phản ứng nhiệt tình từ các nhà phát triển Maven cho bất kỳ lỗi nào mà bạn phát hiện ra. –

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