Maven + App Engine + Google Eclipse Plugin

19
5个回答

6

取决于您所说的“兼容性”,以及您使用GAE插件的哪些功能,我们使用了appengine maven插件http://code.google.com/p/maven-gae-plugin/和eclipse,它们似乎可以很好地配合使用,但我们没有使用GWT或JDO。就像大多数maven / eclipse一样,我发现最好从命令行运行您的内容,并将eclipse用作编辑器。


1
我想要在使用Maven的依赖/测试/部署功能的同时,能够使用Google Eclipse插件的所有GAE功能。就像通过Maven链接应用程序引擎SDK等。我想将我的项目集成到Jenkins中。谢谢! - Mike Gleason jr Couturier
另外,我没有使用任何特定的框架或工具,如GWT/JDO :) - Mike Gleason jr Couturier
1
是的,所有这些都可以工作。但是您可能需要手动编辑GAE插件设置(在eclipse中的项目配置中),以使用~/.m2/repository/....来使用您的GAE SDK。查看文档,确保您还将配置设置为指向/src/webapp中的war文件。 - Rick Mangi
1
我一直收到这个错误信息:“SDK位置'.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.7.2\appengine-api-1.0-sdk-1.7.2.jar'不是目录”。我已经将Maven依赖项推到类路径的底部,但没有结果。有人遇到过这种情况吗?谢谢。 - ZiglioUK
这是一个目录吗?您是否定义了settings.xml文件?如果是,您可能指向了错误的位置。该目录应位于您的主目录中(在Unix上为~/.m2/repository)。 - Rick Mangi

3
我使用maven和GAE一年了,并且使用JDO没有任何问题。这是我的MacOSX Snow Leopard配置:
  • Apache Maven 3.0.3
  • Eclipse Version: 3.7.1
  • m2e - Maven Integration for Eclipse 1.0.100.20110804-1717
为了使Eclipse与Maven完全集成(从命令行“mvn test”和在Eclipse中的JUnit接口中运行所有测试),重要的一点是将.project文件设置为如下格式:
<?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>

插件已经移动到此处: https://github.com/maven-gae-plugin/maven-gae-plugin

2
+1 给Rick的回答,但我想补充一下:
Google有一个关于这个的教程:http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven 话虽如此,我们从未完全让它工作。maven-gwt-plugin似乎与Eclipse存在问题,如果您正在使用RequestFactory,则由于APT而变得更糟。maven-gae-plugin似乎很好地运行。从命令行运行要容易得多。此外,Eclipse 3.7/m2e中存在一个已知的错误[需要引用],会导致许多事情无法正确工作。

你的意思是使用maven-gae-plugin运行命令行?我想那就是我最终要做的...谢谢! - Mike Gleason jr Couturier
是的。mvn package gae:deploy = 胜利。 - Travis Webb
我一直收到这个错误信息:“SDK位置'.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.7.2\appengine-api-1.0-sdk-1.7.2.jar'不是目录”。你看到的也是这个吗? - ZiglioUK
已解决,不知何故 GAE Nature 已经消失,尽管 GAE 容器仍在类路径中! - ZiglioUK

1

如前所述,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>

0

关于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模块的项目 - 我稍后会发布我的发现和线索。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接