2011-11-24 45 views
4

我有一个android项目,我使用maven来管理它,它在命令行中运行良好。如下施工:M2E没有与存在的Maven项目一起工作

我的项目

| --android
| ---- SRC
| ---- pom.xml的
| ----......
| - 普通
| ---- SRC
| ----资产
| ----回购
| --desktop
| --pom.xml

我把共享代码和资产放在公共目录中。在Android的目录pom.xml的是:

<project> 
........ 
<dependencies> 
    <dependency> 
     <groupId>com.google.android</groupId> 
     <artifactId>android</artifactId> 
     <version>2.2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
    <groupId>com.badlogic.gdx</groupId> 
    <artifactId>gdx</artifactId> 
    <version>0.9.1</version> 
    </dependency> 
    <dependency> 
    <groupId>com.badlogic.gdx</groupId> 
    <artifactId>gdx-backend-android</artifactId> 
    <version>0.9.1</version> 
    </dependency> 
    <dependency> 
    <groupId>com.google.ads</groupId> 
    <artifactId>GoogleAdMobAdsSdk</artifactId> 
    <version>4.0.4</version> 
    </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.0.0-alpha-14</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>8</platform> 
       </sdk> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>build-helper-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>generate-sources</phase> 
        <goals><goal>add-source</goal></goals> 
        <configuration> 
         <sources> 
          <source>../common/src</source> 
         </sources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    <resources> 
    <resource> 
     <directory>../common/assets</directory> 
    </resource> 
    </resources> 
</build> 
<repositories> 
    <repository> 
<id>libs</id> 
<url>file://${basedir}/../common/repo/</url> 
    </repository> 
</repositories> 
</project> 

正如你可以在上面看到,我设定集结帮手 - Maven的插件此外SRC目录,资源目录设置为通用/ src目录,我也有一个通用/回购的本地仓库来管理我的第三个库。

当我使用命令行时,一切都很好,我可以用手机“安装android:deploy”。但是当我用M2E将它导入到Eclipse中时,我遇到了以下问题

我在pom.xml中添加的src目录没有显示在Eclipse工作区中,因此android/src中的代码找不到包。

如果我在Eclipse中手动链接源文件夹,它告诉我应该更新maven配置,并且我做了另一个错误“不能在'android'中嵌套'android/gen'为了启用嵌套, android'“显示出来。

我完全被这混乱弄糊涂了。任何人都面临同样的问题,为什么我可以在命令行中使用maven,并且不能在M2E中,谢谢?

+1

除了ADT和m2e,你还需要另外一个插件[m2e-android](https://github.com/rgladwell/m2e-android)来让你的mavenized android项目在Eclipse中工作。 – yorkw

+0

我有这个插件。我会再次重建这个项目,希望这个错误没有发生。 –

+0

@Matrix,所以我可以确认你是否使用m2e-android,或者你现在是? –

回答

-2

我想通了,我的pom.xml中有个错误。

将maven-compiler-plugin信息添加到pom.xml后,一切正常。

+7

*('回答'[user1144926](http://stackoverflow.com/users/1144926))转贴为评论*你能否详细解释“将maven-compiler-plugin信息添加到pom.xml”意味着什么?我也有同样的问题。 –

+0

请添加我们需要添加的信息 –

相关问题