2011-01-27 53 views
6

我是GAE世界的新人。我使用eclipse和GAE的SDK,我可以用GAE图标部署到云端,一切都很好。当我必须导入无限数量的依赖项时出现问题,那么我想使用maven。我发现有一个叫特殊GAE Maven插件: 的maven-GAE-插件我想为GAE项目使用maven,我该怎么办?

我可以使用普通的行家只获取dependencys或者我必须使用特殊的GAE插件来做到这一点?

谢谢

回答

4

您需要为声明依赖关系的项目定义一个pom.xml。
使用maven构建时,依赖关系将从远程存储库下载并存储在本地存储库$ {userhome} /。m2 /存储库中。
maven构建也会影响战争文件中的依赖关系。

最简单的入门方法是使用原型创建项目结构。

有2个原型,我已经尝试了GAE至今:

  1. GAE-原型,GWT,这是邻近建到GAE,Maven的插件,请参阅本article
  2. gae-eclipse-maven-archetype,看到这个article,也注意到文章顶部的helios更新链接。

,顾名思义GAE-Eclipse的Maven的原型有日食更好的支持,我一直在寻找这对Maven的配置和eclipse已与对方,这GAE-Eclipse的Maven的原型去冲突很长的路要缓解。

如果你目前的项目没有使用maven directory structure,那么你将会遇到一场艰苦的战斗。如果您尝试使用默认选项,Maven项目更容易配置,而不是违背谷物条件并必须覆盖所有默认配置选项。

+1

只是关于集成的说明。Maven中央仓库当前可用的App Engine依赖关系带来另一个问题。在SDK中,datanucleus-appengine版本是1.0.8.final,而在存储库中它是简单的1.0.8。这有时会在WEB-INF/lib中以相同的JAR结束两次。我还没有想出办法来解决这个问题,但一旦我发现它会成为原型的一部分。问候,gae-eclipse-maven-archetype的作者。 – hleinone 2011-01-28 13:31:13

1

没有理由不能仅仅依赖管理使用maven。 GAE的依赖都在maven中心。

有一个写了关于如何设置它here

下持续集成运行时,我个人使用的开发Eclipse插件和Maven插件。

主要的问题是遵循有关确保maven依赖关系是GAE插件依赖关系下构建路径中最后一件事的建议。

0

以下添加到您的pom.xml,修改它以您的需求:

<project> 
... 
    <properties> 
    ... 
     <com.google.appengine-version>1.6.4</com.google.appengine-version> 
    ... 
    </properties> 
    <dependencies> 
    ...  
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-1.0-sdk</artifactId> 
      <version>${com.google.appengine-version}</version> 
     </dependency> 
    ... 
    </dependencies> 
... 
</project> 

如果您需要除了appengine-api-1.0-sdk任何额外的GAE相关的文物,看看在The Central Repository under com.google.appengine这些文物,然后将它们添加到你的pom.xml的依赖列表。

相关问题