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(@xybrek)を使用します。これは単純な方法で解決しましたがmvn clean gae:run、今ではMavenから機能します...

于 2012-08-01T21:33:28.477 に答える
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 に答える