2011-12-02 28 views
7

Tôi có một dự án maven-multi, khi tôi tạo một dự án nhật thực mới từ nó (bằng M2E 1.0 "Dự án Maven thanh toán từ SCM) Tôi muốn plugin eclipse checkstyle là cấu hình cho dự án mà tự động.Cách cấu hình Checkstyle trong Eclipse cho dự án maven tự động

vì vậy, tôi thêm maven-eclipse-plugin trong phần mẹ pom của <pluginManagement> và cấu hình nó để tạo ra .checkstyle tập tin cũng như các dự án thêm chất CheckstyleNature. trong poms modul tôi đã thêm tên của maven-eclipse-plugin trong xây dựng Nhưng khi tôi kiểm tra dự án không có gì happend, tập tin không được tạo ra và bản chất không được thêm vào.

Vì vậy, tôi nghĩ rằng tôi đang làm điều gì đó hoàn toàn sai, nhưng làm thế nào nó được thực hiện đúng?


Chánh pom - phần quản lý plugin:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.8</version> 
    <configuration> 
     <downloadSources>true</downloadSources> 
     <downloadJavadocs>false</downloadJavadocs> 
     <wtpversion>2.0</wtpversion> 
     <additionalBuildcommands> 
      <buildCommand> 
       <name>org.eclipse.ajdt.core.ajbuilder</name> 
       <arguments> 
        <aspectPath>org.springframework.aspects</aspectPath> 
       </arguments> 
      </buildCommand> 
      <buildCommand> 
       <name>org.springframework.ide.eclipse.core.springbuilder</name> 
      </buildCommand> 
     </additionalBuildcommands> 
     <additionalProjectnatures> 
      <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature> 
      <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
      <projectnature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</projectnature> 
     </additionalProjectnatures> 
     <additionalConfig> 
      <file> 
       <name>.checkstyle</name> 
       <content> 
<![CDATA[ 
<?xml version="1.0" encoding="UTF-8"?> 
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> 
    <fileset name="all" enabled="true" check-config-name="My Checkstyle rules" local="false"> 
    <file-match-pattern match-pattern="." include-pattern="true"/> 
    </fileset> 
    <filter name="FilesFromPackage" enabled="true"> 
    <filter-data value="target" /> 
    <filter-data value="src/main/resources"/> 
    <filter-data value="src/test/java"/> 
    <filter-data value="src/test/resources"/> 
    <filter-data value="src/main/webapp" /> 
    </filter> 
</fileset-config> 
]]> 
       </content> 
      </file> 
     </additionalConfig> 
    </configuration> 
</plugin> 

Mô-đun pom - plugins phần:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
</plugin> 

Trả lời

5

Có câu trả lời chi tiết cho chủ đề này trong Can I Configure m2eclipse through pom.xml?:

cấu hình hoàn toàn tự động của Eclipse Checkstyle Plugin chỉ có thể đạt được với một ProjectConfigurator, ví dụ m2e-code-quality hoặc m2e-extensions.

Đối với m2e kể từ phiên bản 1.0, bạn có thể cài đặt chúng qua thị trường m2e trong Preferences-> Maven-> Discovery -> "Open Catalog". Để biết chi tiết, xem bug tracking for integration of m2e-code-quality into the m2e marketplace.

Có một giải pháp cũng dựa trên AntRun và XMLTask ngay cả đối với FindBugs và Sonar. Nó chỉ cần kích hoạt thủ công một lần sau khi thanh toán.

+0

âm thanh rất tốt, tôi chưa thử nghiệm, nhưng fron mô tả projekt nó là những gì tôi cần – Ralph

+0

Thật không may, [m2e-mã chất lượng kết nối không có trong danh mục của m2e 1.4 (Kepler)] (https: // github.com/m2e-code-quality/m2e-code-quality/issues/25). – oberlies

+0

trang chủ m2e-code-chất lượng (http://m2e-code-quality.github.io/m2e-code-quality/) đường nối khá cũ, nhưng trang thị trường của nó https: //marketplace.eclipse. chất lượng org/content/m2e-code cho thấy dự án vẫn còn sống – Ralph

4

Các maven nhật thực Plugin không phải là điều tương tự như các plugin M2E cho nhật thực, mà tôi giả sử bạn đang cố gắng sử dụng. Về cơ bản bạn không nên sử dụng cả hai cùng một lúc.

Bạn có thể sử dụng nhật thực mvn: eclipse từ dòng lệnh để tạo tệp dự án và sau đó bạn có thể nhập dự án vào nhật thực. M2e hoạt động rất khác và thay vào đó sử dụng tệp pom khi bạn nhập dự án dưới dạng plugin maven. Có lẽ những gì bạn muốn là cấu hình các plugin checkstyle và hy vọng nhật thực sẽ nhận các thiết lập. Tương tự cho findbugs và các plugin maven khác.

Tuy nhiên, tôi thực sự thích sử dụng nhật thực mvn: nhật thực và chưa thực sự xác minh các tác phẩm trên như mong đợi. M2e chỉ là quá nhiều thời gian cho tôi và dường như đi ra ngoài và làm những việc sai thường xuyên. Tôi đặc biệt ghét làm thế nào nó có một thói quen về cơ bản xây dựng lại tất cả mọi thứ sau khi tương tác dòng lệnh với maven. Nhưng rất nhiều người có vẻ như m2e.

+1

Bạn nói đúng, các plugin khác nhau. Nhưng tôi sẽ sử dụng M2e thay vì plugin eclipse. – Ralph

+0

Trừ khi câu trả lời này là sự khác biệt giải thích có liên quan giữa plugin Eclipse (m2e) và plugin Maven (maven-eclipse-plugin), có vẻ như tích hợp giữa hệ thống xây dựng và IDE thực sự được cải thiện từ phiên bản mới nhất (từ 2013 đến 2015)). Tôi thực sự muốn giới thiệu M2E. –

+2

Nó có liên quan bởi vì câu hỏi ban đầu là về m2e nhưng xml mẫu cấu hình plugin eclipse maven, mà rõ ràng sẽ không hoạt động; như tôi đã chỉ ra. Đoạn cuối cùng của tôi có liên quan khi tôi cung cấp câu trả lời này vì m2e khá không ổn định và khó xử lý vào lúc đó. Kể từ đó mọi thứ đã được cải thiện đáng kể và bây giờ tôi cũng sử dụng m2e. –

1

Một phải cài đặt "M2E Checkstyle" nối

gây hiệu ứng cấu hình hình thành maven-checkstyle-plugin cho eclipse checkstyle Plugin

Dưới cửa sổ \ sở thích \ Maven \ Khám phá \ mở Catalogue

Và tất nhiên, người dùng phải thay đổi pom để plugin kiểu kiểm tra được định cấu hình thay vì plugin eclipse.

Thật không may nó không hoạt động cho tôi! (Tôi sẽ không xóa câu trả lời vì nó có thể làm việc cho một người khác.)

+0

Có cách nào để phát hiện này tự động kích hoạt? –

+0

@ Thorbjørn Ravn Andersen: Tôi không biết. Nhưng nó có vẻ giống như một câu hỏi hay. – Ralph

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