2012-11-25 100 views
20

我很難過。我們最近將Android項目轉換爲Maven項目。我的合作伙伴使用IntelliJ,並使用Eclipse。他表示,這種設置可以很好地完成。com.jayway.maven.plugins.android.generation2:插件執行沒有被生命週期配置覆蓋?

我對Maven非常陌生,並且遵循教程並閱讀了所有我可以找到的嘗試解決此問題的內容。

我在pom.xml文件中出現以下錯誤:

Multiple annotations found at this line: 
- Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.2:proguard (execution: default-proguard, 
phase: process-classes) 
- Plugin execution not covered by lifecycle configuration: com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.2:generate-sources (execution: default- 
generate-sources, phase: generate-sources) 

這裏是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.groupmd.clientandroid</groupId> 
<artifactId>clientandroid</artifactId> 
<version>1.0.0-SNAPSHOT</version> 
<packaging>apk</packaging> 
<name>GroupMD</name> 

<dependencies> 
    <dependency> 
     <groupId>com.google.android</groupId> 
     <artifactId>support-v4</artifactId> 
     <version>r7</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.2.2</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.actionbarsherlock</groupId> 
     <artifactId>actionbarsherlock</artifactId> 
     <version>4.2.0</version> 
     <type>apklib</type> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>${project.artifactId}</finalName> 
    <sourceDirectory>src</sourceDirectory> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>3.3.2</version> 
       <extensions>true</extensions> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
      <artifactId>android-maven-plugin</artifactId> 
      <configuration> 
       <sdk> 
        <!-- platform or api level (api level 4 = platform 1.6)--> 
        <platform>14</platform> 
       </sdk> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
</project> 

我缺少什麼?

+0

爲了對我的文章進行跟蹤,我從http://code.google.com/p/maven-android-plugin/wiki/Samples下載了示例,並且可以使用以下示例構建flaslight示例: 'mvn install',所以我認爲它必須是我的Eclipse Maven插件特有的東西。沒有? – ColonelPackage

+0

當我嘗試從問題項目的命令行安裝mvn安裝時,出現大量錯誤:[錯誤] /home/mhoyt/workspace/client-android/target/unpack/apklibs/com.actionbarsherlock_actionbarsherlock_apklib_4 .2.0/src/com/ac tionbarsherlock/app/SherlockFragmentActivity.java:[3,27]包android.content.res不存在不知道這是否與pom有關。xml文件錯誤,但它似乎並沒有像一個「ActionBarSherlock」依賴項也被下載。 – ColonelPackage

+0

你安裝了哪個版本的m2e-android插件?這是舊版本的問題?此外,m2e-android還不支持ABS的apklib。 –

回答

42

發生這種情況是因爲默認情況下,Eclipse的Maven插件(m2e)知道常規插件執行(編譯,測試,流程資源等)的操作,但它不知道「該怎麼做「用這些Android插件執行。

有時,例如在配置maven-war-plugin,maven-ear-plugin等時,可以通過從Eclipse Marketplace下載所謂的「m2e-connectors」來增強m2e提供的基本功能。之後,m2e知道如何處理某些「非標準」插件執行並停止顯示這些錯誤。

在這種特殊情況下(Android插件),您很幸運,並且有連接器可用於解決問題。

選項1:(簡單)

轉到Eclipse的市場和尋找 「Android的配置爲M2E」 並安裝它。

如果由於某種原因,你不能使用/訪問市場(例如:如果您使用Spring工具套件-STS-)你仍然可以安裝連接器:

選項2:

幫助 - >安裝新軟件... - >使用和工作粘貼以下(確切,因爲它是沒有任何ommiting)

Maven Integration for Android Development Tools Dependency Sites - http://rgladwell.github.com/m2e-android/updates/ 

然後按ENTER。它會彈出一個確認對話框,再次按下ENTER鍵,你應該能夠看到該更新站點上的軟件。只需勾選它們(「NDK插件」是唯一可選的),就是這樣,在完全重建之後,問題應該消失。

希望這會有所幫助。

+3

非常適合我,謝謝! – bentzy

+0

太棒了!這就是我一直在尋找的問題 - 解決同一問題的其他答案爲不存在的問題提供了複雜的解決方法 –

+0

謝謝!非常非常有幫助! –

相關問題