3

公式の Maven プラグインと Java 7 を Google Appengine で使用できません。

構成

私のプロジェクト構成pom.xmlは非常に単純です。

プロパティ セクションで、次のように構成します。

<gae.version>1.7.4</gae.version>

そして後でプラグインを使用します:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.2</version>
  <configuration>
    <source>1.7</source>
    <target>1.7</target>
  </configuration>
</plugin>
<plugin>
  <groupId>com.google.appengine</groupId>
  <artifactId>appengine-maven-plugin</artifactId>
  <version>${gae.version}</version>
</plugin>

エラーメッセージ

実行するたびにmvn appengine:update、次のエラーが表示されます。

アプリを更新できません: アプリケーションには Java 7 クラスが含まれていますが、--use_java7 フラグが設定されていません。

それを解決する私の試み

もちろん、私はこの問題を解決しようとしました。ランニング

mvn appengine:update --use_java7

また

mvn appengine:update -D--use_java7

フラグはMavenプラグインではなくappcfgスクリプトに使用されるため、役に立ちませんでした。

Java 7 を使用できるように、フラグをスクリプトに渡すにはどうすればよいですか (または他にできることはありますか)。

4

1 に答える 1

5

App Engine Java 7 のサポートは現在、Trusted Tester 向けであり、まだ公開されていません。ここからTrusted Tester を適用できます。

幸いなことに、最新の公式 Maven プラグインはこの機能を実装しています。AbstractAppCfgMojo.java を参照してください

... ...

/**
 * Use the App Engine Java 7 runtime for this app.
 *
 * @parameter
 */
protected boolean useJava7;

... ...

if (useJava7) {
  arguments.add("--use_java7");
}

... ...

pom.xml で次のプラグイン構成を使用して、Java7 サポートを有効にすることができます。

</build>
  <plugins>
    ... ...
    <plugin>
      <groupId>com.google.appengine</groupId>
      <artifactId>appengine-maven-plugin</artifactId>
      <version>${gae.version}</version>
      <configuration>
        <useJava7>true</useJava7>
      </configuration>
    </plugin>
  </plugins>
</build>
于 2013-02-03T20:57:06.053 に答える