我是GAE世界的新人。我使用eclipse和GAE的SDK,我可以用GAE图标部署到云端,一切都很好。当我必须导入无限数量的依赖项时出现问题,那么我想使用maven。我发现有一个叫特殊GAE Maven插件: 的maven-GAE-插件我想为GAE项目使用maven,我该怎么办?
我可以使用普通的行家只获取dependencys或者我必须使用特殊的GAE插件来做到这一点?
谢谢
我是GAE世界的新人。我使用eclipse和GAE的SDK,我可以用GAE图标部署到云端,一切都很好。当我必须导入无限数量的依赖项时出现问题,那么我想使用maven。我发现有一个叫特殊GAE Maven插件: 的maven-GAE-插件我想为GAE项目使用maven,我该怎么办?
我可以使用普通的行家只获取dependencys或者我必须使用特殊的GAE插件来做到这一点?
谢谢
您需要为声明依赖关系的项目定义一个pom.xml。
使用maven构建时,依赖关系将从远程存储库下载并存储在本地存储库$ {userhome} /。m2 /存储库中。
maven构建也会影响战争文件中的依赖关系。
最简单的入门方法是使用原型创建项目结构。
有2个原型,我已经尝试了GAE至今:
,顾名思义GAE-Eclipse的Maven的原型有日食更好的支持,我一直在寻找这对Maven的配置和eclipse已与对方,这GAE-Eclipse的Maven的原型去冲突很长的路要缓解。
如果你目前的项目没有使用maven directory structure,那么你将会遇到一场艰苦的战斗。如果您尝试使用默认选项,Maven项目更容易配置,而不是违背谷物条件并必须覆盖所有默认配置选项。
没有理由不能仅仅依赖管理使用maven。 GAE的依赖都在maven中心。
有一个写了关于如何设置它here
下持续集成运行时,我个人使用的开发Eclipse插件和Maven插件。
主要的问题是遵循有关确保maven依赖关系是GAE插件依赖关系下构建路径中最后一件事的建议。
以下添加到您的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
的依赖列表。
只是关于集成的说明。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