Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 使用Google';s Maven GAE插件_Google App Engine_Maven_Oauth 2.0_Maven Gae Plugin - Fatal编程技术网

Google app engine 使用Google';s Maven GAE插件

Google app engine 使用Google';s Maven GAE插件,google-app-engine,maven,oauth-2.0,maven-gae-plugin,Google App Engine,Maven,Oauth 2.0,Maven Gae Plugin,我知道Google支持使用appcfg.{sh,cmd]上传无密码GAE应用程序,如下所述: 但是,我想知道我是否可以使用同样的方法。有一个名为appengine:update的目标,用于将本地GAE应用程序上载到云。但是,我在任何地方都找不到是否支持OAuth2的信息。有人知道我如何将OAuth2和这个Maven插件结合起来吗 原因是我正在使用Jenkins构建我的项目,我更愿意在构建过程中使用Maven目标自动上传我的应用程序,而不是运行脚本(比Maven目标更复杂)作为生成后的一个步骤。似

我知道Google支持使用appcfg.{sh,cmd]上传无密码GAE应用程序,如下所述:

但是,我想知道我是否可以使用同样的方法。有一个名为
appengine:update
的目标,用于将本地GAE应用程序上载到云。但是,我在任何地方都找不到是否支持OAuth2的信息。有人知道我如何将OAuth2和这个Maven插件结合起来吗


原因是我正在使用Jenkins构建我的项目,我更愿意在构建过程中使用Maven目标自动上传我的应用程序,而不是运行脚本(比Maven目标更复杂)作为生成后的一个步骤。

似乎appengine:update自动支持OAuth2。我只需使用appcfg.sh运行手动生成。如果该shell脚本位于您的
路径上,则该命令如下所示:

appcfg.sh --oauth2 update myapp/war-directory

一旦我按照手动步骤部署我的应用程序并为我的用户下载OAuth2令牌,我就可以运行
mvn appengine:udpate
。这将检测到我的OAuth2令牌,并且不需要任何手动交互。

在GAE Maven插件的最新版本中,它似乎得到了改进(无需调用appcfg)。只需调用:

mvn clean appengine:update

如果没有~/.appcfg\u oauth2\u tokens\u java,它将弹出您的浏览器,并向Google帐户请求凭据。成功身份验证后,您将看到oauth2 token。将其粘贴到终端窗口中,在那里您调用mvn,您就完成了操作。

作为一种解决方法,在部署时,我使用帐户规范仅用于appengine上载我发现一个有用的方法是为应用程序上传创建一个帐户规范,并且只在上传应用程序时使用该帐户,而不使用其他帐户"我最近注意到了这一点。很好,他们添加了这个功能。在我的情况下,浏览器没有打开。我该怎么办?我已经快一年没有处理GAE了。但是IIRC,Maven的目标将打印出一个URL,你自己应该粘贴到新的浏览器窗口中,Maven将等待你输入从浏览器中获得的代码。@ecbrodie我看到了这个信息,从这个我了解到,如果浏览器不打开appcfg.sh将显示一个url粘贴在浏览器中如何访问这个请告诉我。我是新的应用程序引擎。