2011-07-10 8 views
9

Tôi muốn bật các plug cũ hơn không có sẵn trong m2e v 1.0Bao gồm các plugin m2e cũ hơn với m2e 1.0+ bằng cách sử dụng ánh xạ vòng đời?

Tôi đã thêm phần này vào POM nhưng không hoạt động nếu có nhiều mục.

<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-dependency-plugin</artifactId> 
            <version>[0.0.0,)</version> 
            <goals> 
             <goal>unpack</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <execute /> 
           </action> 
          </pluginExecution> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>org.codehaus.mojo</groupId> 
            <artifactId>build-helper-maven-plugin</artifactId> 
            <version>[0.0.0,)</version> 
            <phase>generate-sources</phase> 
            <goals> 
             <goal>add-source</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <execute /> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 

Tôi cũng đã thử biến thể sau.

<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <lifecycleMappings> 
          <lifecycleMapping> 
           <pluginExecutions> 
            <pluginExecution> 
             <pluginExecutionFilter> 
              <groupId>org.apache.maven.plugins</groupId> 
              <artifactId>maven-dependency-plugin</artifactId> 
              <version>[0.0.0,)</version> 
              <goals> 
               <goal>unpack</goal> 
              </goals> 
             </pluginExecutionFilter> 
             <action> 
              <execute /> 
             </action> 
            </pluginExecution> 
           </pluginExecutions> 
          </lifecycleMapping> 
          <lifecycleMapping> 
           <pluginExecutions> 
            <pluginExecution> 
             <pluginExecutionFilter> 
              <groupId>org.codehaus.mojo</groupId> 
              <artifactId>build-helper-maven-plugin</artifactId> 
              <version>[0.0.0,)</version> 
              <phase>generate-sources</phase> 
              <goals> 
               <goal>add-source</goal> 
              </goals> 
             </pluginExecutionFilter> 
             <action> 
              <execute /> 
             </action> 
            </pluginExecution> 
           </pluginExecutions> 
          </lifecycleMapping> 
         </lifecycleMappings> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 

Thông báo lỗi tôi nhận được là:

Không thể phân tích vòng đời lập bản đồ siêu dữ liệu cho maven dự án MavenProject: com.sakriom: Drools ngữ cảnh: 0.0.1-SNAPSHOT @ D: \ Documents and Settings ..... \ Workspaces \ Eclipse 3.6 - Scala \ DroolsContext \ pom.xml Nguyên nhân: Thẻ không được công nhận: 'phiên bản' (vị trí: START_TAG đã xem ... \ r \ n ... @ 10: 22)

Thông báo lỗi này được giải mã như thế nào?

+0

bạn có thể đăng một phần của tệp 'pom.xml' vào vị trí' START_TAG' không? –

+1

Bạn có thực sự mong đợi chúng tôi biết những gì trên dòng 8 không có mã không? Rõ ràng, thẻ không được phép bạn đã đặt thẻ. – carlspring

+0

Đây là bản sao của http://stackoverflow.com/questions/6663642/cannot-parse-lifecycle-mapping-metadata-for-maven-project-mavenproject –

Trả lời

22

"Nguyên nhân: không được nhận thẻ: 'phiên bản'" - Nó phàn nàn về thẻ <version>[0.0.0,)</version> vì nó không thuộc về bên trong một <pluginExecutionFilter>. Bạn nên sử dụng <versionRange>[0.0.0,)</versionRange> để thay thế.

2

Yếu tố version không được phép tại dòng 8.

Nếu bạn cần giúp đỡ thêm, thêm phần liên quan của pom-xml cho câu hỏi của bạn.

[EDIT] Dựa trên POM bạn đã cung cấp, vấn đề là bạn đang sử dụng thuộc tính trong phần tử version của dự án. Maven chỉ hỗ trợ các thuộc tính trong tất cả các thành phần khác version nhưng không hỗ trợ thuộc tính này.

Nhưng thông báo lỗi có vẻ hơi lạ. Hãy thử bản phát hành Maven mới nhất (3.0.3). Nếu vẫn còn lỗi tương tự, hãy tạo một POM demo nhỏ cho thấy sự cố (chỉ cần xóa càng nhiều càng tốt) và mở một lỗi trong Maven issue tracker.

+0

Pl tìm POM được đính kèm bên dưới: https: //bitbucket.org /sirinath/droolscontext/src/68208d90c1a5/pom.xml –

6

"Nguyên nhân: không được nhận thẻ: 'phiên bản'" - Nó phàn nàn về thẻ <version>[0.0.0,)</version> vì nó không thuộc về bên trong một <pluginExecutionFilter>. Bạn nên sử dụng <versionRange>[0.0.0,)</versionRange> để thay thế.

+1

Bài đăng kép này ở đây vì một số sửa đổi đã hợp nhất bài đăng trùng lặp OPs mà tôi cũng đã trả lời. –