appengine-maven-plugin 1.7.5由于滞后deps似乎有不完整的java7支持

时间:2013-02-27 12:36:50

标签: google-app-engine maven

我正在尝试在maven中使用新的Google插件进行GAE。

与旧插件不同,一切运行顺利。

除部署之外的所有内容。

第一件令人震惊的事情是,从空.m2开始(我删除它以确保没有旧版本弄乱我)并且在mvn appengine:update的初始下载阶段,maven说< / p>

Downloaded: http://repo.maven.apache.org/maven2/com/google/appengine/appengine-tools-sdk/1.7.4/appengine-tools-sdk-1.7.4.jar (16762 KB at 788.5 KB/sec)

然后,如果我运行mvn appengine:update,则表示

[INFO] Updating Google App Engine Application
********************************************************
There is a new version of the SDK available.
-----------
Latest SDK:
Release: 1.7.5
Timestamp: Fri Jan 11 00:56:53 CET 2013
API versions: [1.0]

-----------
Your SDK:
Release: 1.7.4
Timestamp: Tue Dec 11 12:41:31 CET 2012
API versions: [1.0]

-----------

当我查看.m2文件夹时,我得到了

mog@becca:~/.m2/repository/com/google$ tree -L 2 appengine/
appengine/
├── appengine
│   ├── 1.7.4
│   └── 1.7.5
├── appengine-api-1.0-sdk
│   └── 1.7.5
├── appengine-api-stubs
│   └── 1.7.5
├── appengine-java-sdk
│   └── 1.7.5
├── appengine-maven-plugin
│   └── 1.7.5
├── appengine-testing
│   └── 1.7.5
└── appengine-tools-sdk
    └── 1.7.4

这似乎表明1.7.5插件的依赖性是不完整的:1.7.4中有些落后。令人讨厌的部分是它似乎阻止我使用1.7.5插件的自动java 7检测功能,如下所示:

当我使用mvn appengine:update时,我收到警告:

warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning

此警告,以及当我访问我的网站时收到错误500的事实,然后由以下日志解释:

Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@15a4523{/,/base/data/home/apps/s~trashnao/1.365599992371450729}
org.mortbay.util.MultiException[java.lang.UnsupportedClassVersionError: fr/univnantes/atal/web/trashnao/Controller : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: fr/univnantes/atal/web/trashnao/Controller : Unsupported major.minor version 51.0]
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656)

让我认为使用的appengine-tools-sdk-1.7.4不支持通过pom.xml文件进行自动java 7检测。

正如开发人员自己在this video中所述,1.7.5插件中提供了自动检测java 7目标的这一特性。

尝试that question中给出的解决方案,我收到此消息而不是关于boostrap类的消息:

warning: Supported source version 'RELEASE_6' from annotation processor 'com.google.appengine.tools.compilation.DatastoreCallbacksProcessor' less than -source '1.7'

我想知道如何解决这个问题。即,如何使mvn appengine:update目标在其appcfg(related doc)的调用中使用--java_7选项

1 个答案:

答案 0 :(得分:2)

我可以解决此问题,如果您想提交问题并查看进度,请随时在此处执行此操作:https://code.google.com/p/appengine-maven-plugin/issues/list我会及时更新。

编辑:在1.7.6中修复并使用enforcer插件确保它不会再次发生。