Google App Engine仅部署Jar文件

时间:2014-11-12 21:42:32

标签: deployment google-app-engine

我是Google App Engine的初学者。

我有一个简单的java应用程序,其中有一个类,其中有一个执行某些线程的main方法。 实际上,它是用于执行某些后端活动的Java应用程序。

在我的Linux服务器上,我创建了一个cron作业,它以某个特定的时间间隔执行该类。

现在,我想将此应用程序移至Google App Engine。 我确实搜索了这个,我发现我必须将这个java应用程序转换为Web应用程序以在GAE上部署。

请指导我如何将JAR部署到GAE。

由于

4 个答案:

答案 0 :(得分:1)

最后!我没有使用谷歌应用引擎而只使用谷歌计算引擎找到了解决方案。

我创建了一个JAR并使用SFTP将其放入我的主文件夹。

之后我在/etc/cron.d/myfile创建了一个cron文件,如下所示

*/10 * * * * myusername java -jar /home/myusername/myjar.jar

然后我重新加载crontab

sudo service cron reload

就是这样!感谢您的投入和兴趣!

答案 1 :(得分:0)

您无法将单个jar文件部署到App Engine。您可以部署应用程序。

本教程介绍如何使用Java创建App Engine项目:

https://cloud.google.com/appengine/docs/java/gettingstarted/introduction

答案 2 :(得分:0)

是的,您的Java应用程序需要是一个Web应用程序。也就是说,你需要在你的jar中有一个WEB-INFO目录,并带有正确的xml文件(即web.xml和appengine-web.xml)。

请首先按照以下教程之一进行操作: https://cloud.google.com/appengine/docs/java/gettingstarted/introduction

您还提到在应用程序中使用线程。我相信在App Engine上你不能只创建线程,而是需要依赖提供的线程api: https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/ThreadManager

因此,您需要更改一些代码以使用这样的API。

答案 3 :(得分:0)

是的,您只能将Web应用程序部署到Google App Engine,因此如果要将其部署到App引擎,则可能必须将您的类转换为Servlet类。

如果您希望将其作为cron作业执行,则可以使用Servlet的URL,因此您可以通过指定在部署之前应执行cron作业的频率和时间来在文件cron.xml中配置此URL。

您可以使用下面的链接指导您完成以下步骤:

  

http://www.vogella.com/tutorials/GoogleAppEngineJava/article.html

Google关于Cron Job的文档:

  

https://cloud.google.com/appengine/docs/java/config/cron

但是,在使用App Engine时,您无法使用线程。