有没有一种方法可以创建一个 Maven 兼容的 Google App Engine(Java)项目,同时也兼容 Eclipse 中的 Google Eclipse 插件?
谢谢!
编辑:
现在原生支持 Maven 插件:
https://developers.google.com/appengine/docs/java/tools/maven
有没有一种方法可以创建一个 Maven 兼容的 Google App Engine(Java)项目,同时也兼容 Eclipse 中的 Google Eclipse 插件?
谢谢!
编辑:
现在原生支持 Maven 插件:
https://developers.google.com/appengine/docs/java/tools/maven
取决于您所说的“兼容性”,以及您使用GAE插件的哪些功能,我们使用了appengine maven插件http://code.google.com/p/maven-gae-plugin/和eclipse,它们似乎可以很好地配合使用,但我们没有使用GWT或JDO。就像大多数maven / eclipse一样,我发现最好从命令行运行您的内容,并将eclipse用作编辑器。
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>PROJECT_NAME</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
mvn package gae:deploy
= 胜利。 - Travis Webb如前所述,Google为Maven提供了支持:https://developers.google.com/appengine/docs/java/tools/maven
但是看起来它与Eclipse不完全兼容(如在评论中提到的:“SDK位置‘.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.7.2\appengine-api-1.0-sdk-1.7.2.jar’不是目录”)
为了解决这个问题,我使用了maven-eclipse-plugin,并指定了GAE/JRE的容器:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<classpathContainers>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
<classpathContainer>com.google.appengine.eclipse.core.GAE_CONTAINER</classpathContainer>
</classpathContainers>
</configuration>
</plugin>
关于GAE + Maven + Eclipse的一般发现。
规则1:使用GAE原型生成您的GAE项目:https://developers.google.com/appengine/docs/java/tools/maven
规则2:如果您想使用Eclipse进行开发,请不要执行“mvn eclipse:eclipse”然后导入 - 这会引起很多问题。而是作为“Maven项目”导入
规则3:如何创建MVN / GAE / Eclipse项目的简单/工作解决方案在YouTube上描述http://www.youtube.com/watch?v=oC6bJp5X3LI
附言:我正在研究具有单独的Web / DAO / Domain模块的项目 - 我稍后会发布我的发现和线索。