我想将maven用于GAE项目,我该怎么办?

时间:2011-01-27 13:37:53

标签: eclipse google-app-engine maven

我是GAE世界的新人。我正在使用eclipse和GAE的SDK,我可以使用GAE图标部署到云端,一切都很好。当我必须导入无限数量的依赖项时出现问题,然后我想使用maven。我发现有一个特殊的GAE maven插件叫做: 行家-GAE-插件

我是否可以仅使用常规maven 来获取依赖项,或者我必须使用GAE特殊插件来执行此操作?

谢谢

3 个答案:

答案 0 :(得分:4)

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

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

到目前为止,我已经尝试过两种原型:

  1. gae-archetype-gwt,与gae-maven-plugin相邻构建,请参阅此article
  2. gae-eclipse-maven-archetype,请参阅此article,并注意文章顶部有关helios更新的链接。
  3. 顾名思义,gae-eclipse-maven-archetype对eclipse有更好的支持,我发现maven和eclipse的配置已经相互冲突,gae-eclipse-maven-archetype有很长的路要走为缓解。

    如果您当前的项目没有使用maven directory structure,那么您将面临一场艰苦的战斗。如果你试图使用默认值来配置Maven项目更容易,这些默认值是非常合理的选项,而不是违背所有默认配置选项。

答案 1 :(得分:1)

没有理由不能仅使用maven进行依赖管理。 GAE依赖关系都在maven中心。

有一篇关于如何设置它的文章here

我个人在dev和maven插件中使用eclipse插件,在持续集成下运行。

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

答案 2 :(得分: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的依赖项列表中。