2013-02-20 26 views
28

Tôi có một dự án web Maven trong repo của mình.Tại sao Maven sonar lệnh sonar: sonar hoạt động mà không có bất kỳ cấu hình plugin trong POM.xml của tôi?

Tôi là một Noob Maven nhưng tôi vẫn hiểu thực tế là có các plugin mà chúng tôi cần phải cấu hình chỉ sau đó chúng tôi có thể chạy các lệnh cụ thể của plugin.

Sự kiện:

Tôi có một máy chủ sonar chạy trên máy tính cục bộ của tôi tại cổng 9000.

Tôi chưa thêm bất kỳ plugin sonar cụ thể trong pom.xml của tôi

tham khảo:

http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/

Quan sát:

Nhưng vẫn khi tôi chạy mvn sonar:sonar trong dự án của mình từ dòng lệnh, nó hoạt động tốt.

Vấn đề thực tế là Tôi chưa định cấu hình plugin sonar trong POM.xml của mình Ngay cả khi từ đó địa ngục Maven đang chọn và hiểu mục tiêu/lệnh "sonar: sonar"?

Câu hỏi/tò mò:

Tôi không muốn những kiến ​​thức làm việc của bản thân sonar. Tôi muốn biết lý do tại sao mvn sonar:sonar hoạt động mà không định cấu hình plugin sonar trong pom.xml của tôi

TẠI SAO và như thế nào?

Trả lời

38

Nguyên nhân là do các Sonar Maven Plugin được lưu trữ tại các Codehaus Mojo project và lợi ích từ việc "org.codehaus.mojo" groupId. Điều này cho phép sử dụng phím tắt "sonar: sonar" thay vì "org.codehaus.mojo: sonar-maven-plugin :: sonar" (xem phần "Định cấu hình Maven để tìm kiếm plugin" của Maven documentation)

+0

Câu trả lời thực tế !!! Cool, Thanks :) –

+1

Vẫn không hiểu .. Tại sao có groupId "org.codehaus.mojo" hãy sử dụng phím tắt? – Ievgen

+0

@levgen org.apache.maven.plugins và org.codehaus.mojo là các id nhóm đặc biệt. Xem phần cuối cùng của http://maven.apache.org/guides/introduction/introduction-to-plugin-prefix-mapping.html –

4

Sonar có bộ plugin riêng (ví dụ: maven-checkstyle-plugin) mà nó đang chạy khi được gọi. Các plugin này được tự động định cấu hình theo cài đặt dự án của bạn trong máy chủ Sonar được định cấu hình của bạn.

Lý do đằng sau việc này để có cấu hình được điều khiển trong trường hợp sonar của bạn.

Lý do nó hoạt động tự động cho bạn là bạn đang sử dụng các giá trị mặc định cho cài đặt máy chủ sonar của bạn (localhost: 9000).

'zero-cấu hình' Cách tiếp cận này là tiếp tục chi tiết ở đây: We had a dream : mvn sonar:sonar

+0

Sửa đổi câu hỏi. –

+0

Đã thêm tham chiếu – Torsten

+0

Không, Sonar trực tiếp thực hiện các trình phân tích mã như Checkstyle, PMD và Findbugs, mà không phụ thuộc vào các plugin Maven liên quan. Nó cho phép hỗ trợ môi trường không phải Maven. Hơn nữa để biết thông tin, Sonar sẽ nhúng trình phân tích mã nâng cao của riêng mình. –

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