2011-07-10 57 views
9

我想啓用舊插件在m2e v 1.0中不可用使用生命週期映射包含更老的m2e插件與m2e 1.0+?

我已將此添加到POM中,但如果存在多個項目,則它不起作用。

<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> 

我也嘗試了以下變化。

<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> 

該錯誤消息我得到的是:

無法解析生命週期映射元數據Maven項目MavenProject:com.sakriom:Drools的上下文:0.0.1-SNAPSHOT @ d:\ Documents和Settings ..... \ Workspaces \ Eclipse 3.6 - Scala \ DroolsContext \ pom.xml 原因:無法識別的標記:'version'(position:START_TAG seen ... \ r \ n ... @ 10:22)

這個錯誤信息是如何解碼的?

+0

你可以發佈'START_TAG'所在的'pom.xml'部分嗎? –

+1

您是否認真地期望我們知道沒有代碼的第8行?顯然,標籤不允許放置它的位置。 – carlspring

+0

這是一個重複的http://stackoverflow.com/questions/6663642/cannot-parse-lifecycle-mapping-metadata-for-maven-project-mavenproject –

回答

22

原因:無法識別的標籤:‘版本’」 - 這是在抱怨<version>[0.0.0,)</version>標籤,因爲它沒有一個<pluginExecutionFilter>內屬於。您應該使用<versionRange>[0.0.0,)</versionRange>

2

元素version不是在第8行

允許如果您需要更多的幫助,pom-xml的相關部分添加到您的問題。

[編輯]基於您提供的POM,問題在於您正在項目的version元素中使用屬性。 Maven只支持所有其他version元素的屬性,但不支持這一屬性。

但是,錯誤信息似乎有點奇怪。試用最新的Maven版本(3.0.3)。如果仍然出現相同的錯誤,請創建一個演示POM的小型演示程序(只要儘可能刪除)並打開Maven issue tracker中的錯誤。

+0

找到POM下面附上:https://bitbucket.org /sirinath/droolscontext/src/68208d90c1a5/pom.xml –

6

原因:無法識別的標籤:‘版本’」 - 這是在抱怨<version>[0.0.0,)</version>標籤,因爲它沒有一個<pluginExecutionFilter>內屬於。您應該使用<versionRange>[0.0.0,)</versionRange>

+1

這個雙重職位是在這裏,因爲一些國防部合併了OP的重複職位,我也回答。 –

相關問題