2

对于使用 Eclipse-Maven 进行 Appengine 测试,我在 POM.xml 中定义了这个

    <!-- Appengine Testing -->

    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-labs</artifactId>
        <version>${appengine.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-testing</artifactId>
        <version>${appengine.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-stubs</artifactId>
        <version>${appengine.version}</version>
        <scope>test</scope>
    </dependency>

但是,每次我添加这个依赖项时,当我的 webapp 被调用时,它都会抛出这个错误:

java.lang.ClassCastException: com.google.appengine.tools.development.ApiProxyLocalImpl cannot be cast to com.google.appengine.tools.development.ApiProxyLocal

尽管我可以运行 JUnit 并测试我的 Appengine 特定代码,但每次我必须运行应用程序时,我都必须删除这些依赖项并刷新所有内容,这非常痛苦。

这种情况有什么解决方法吗?

4

2 回答 2

0

您使用哪个版本?我的POM不包含appengine-api-labs。也许您可以尝试不使用它:

<dependency>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-api-stubs</artifactId>
  <version>${gae.version}</version>
  <type>jar</type>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-testing</artifactId>
  <version>${gae.version}</version>
  <type>jar</type>
  <scope>test</scope>
</dependency>
于 2012-05-20T16:32:30.490 回答
0

我使用与您相同的 POM(@xybrek),我通过做一个简单的方法解决了这个问题mvn clean gae:run,现在它可以在 maven 上运行......

于 2012-08-01T21:33:28.477 回答