我有一个用java编写的gae应用程序,它被分成两个不同的模块。其中一个模块具有在初始部署时安装的cron.xml。 Cron任务正常工作并按预期执行。
现在我的问题是,当我使用maven(> mvm appengine:update)重新部署我的应用程序时,如果我对cron.xml进行了更改,则在部署完成后,这些更改不会反映在服务器上。即它正在使用旧的cron.xml。
如果我尝试手动更新cron.xml(mvn appengine:cron_update),我收到错误:
“错误的参数:请求的操作不支持EAR配置”
基本上我的问题是如何更新cron.xml?
答案 0 :(得分:1)
正确的命令是
mvn appengine:deployCron
答案 1 :(得分:0)
尝试从
更改appengine-maven-plugin后运行mvn appengine:cron_update <plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.2</version>
</plugin>
来自Apache-Maven and Appengine description
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.9.63</version>
</plugin>
哦,您可能还需要根据this explanation使用这些标记在appengine-web.xml上描述您的应用程序和版本
<application>_your_app_id_</application><!-- unused for Cloud SDK based tooling -->
<version>alpha-001</version><!-- unused for Cloud SDK based tooling -->
祝你好运!
答案 2 :(得分:0)
在mvn appengine:cron_update
所在的文件夹中运行pom.xml
命令(不是update_cron ,如前一个回答者所建议)。
这是我的pom.xml
的相关部分:
<build>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.9.63</version>
<configuration>
<appId>{PUT YOUR APP ID HERE}</appId>
<version>{PUT YOUR APP VERSION HERE}</version>
</configuration>
</plugin>
这是我的cron.xml
的样子:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/hello</url>
<description>test cron</description>
<schedule>every 6 hours</schedule>
</cron>
</cronentries>