我正在尝试使用新的Google插件在maven为GAE。
一切运行顺利,不像旧插件。
除了部署。
第一件令人担忧的事情是,从一个空的.m2
开始(我删除了它,以确保没有旧版本干扰我),在mvn appengine:update
的初始下载阶段,maven说
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。
正如开发人员自己在这个视频中所说,这个自动检测java 7目标的功能在1.7.5插件中可用。
尝试在那个问题中给出的解决方案,我得到了这个消息,而不是关于bootstrap类的消息:
warning: Supported source version 'RELEASE_6' from annotation processor 'com.google.appengine.tools.compilation.DatastoreCallbacksProcessor' less than -source '1.7'
我想听听如何解决这个问题的建议。例如,如何使mvn appengine:update
目标在调用apppcfg时使用--java_7
选项(相关文档)
我可以解决这个问题,如果你想提交一个问题并看到进展,请在这里这样做:https://code.google.com/p/appengine-maven-plugin/issues/list,我会保持更新。
编辑:修复在1.7.6和使用执行者插件,以确保它不会再发生。