Mor*_*sen 3 java google-app-engine maven-plugin maven java-7
我在使用官方Maven插件和Java 7与Google Appengine时遇到了麻烦.
我的项目配置pom.xml非常简单:
在我配置的属性部分中:
<gae.version>1.7.4</gae.version>
Run Code Online (Sandbox Code Playgroud)
后来我使用插件:
<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>
Run Code Online (Sandbox Code Playgroud)
每当我运行时,mvn appengine:update我都会收到以下错误:
无法更新应用程序:应用程序包含Java 7类,但尚未设置--use_java7标志.
当然,我试图解决这个问题.运行
mvn appengine:update --use_java7
Run Code Online (Sandbox Code Playgroud)
要么
mvn appengine:update -D--use_java7
Run Code Online (Sandbox Code Playgroud)
没有帮助,因为该标志不用于Maven插件,而是用于appcfg脚本.
如何将标志传递给脚本,以便我可以使用Java 7(或者我还能做什么)?
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");
}
... ...
Run Code Online (Sandbox Code Playgroud)
您可以在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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |