将jar可执行文件上载到Azure并运行

问题描述 投票:1回答:2

我有一个用java开发的应用程序。我已经将它导出到一个可执行jar,我想将它上传到azure,以便它以一定的时间表运行。到现在为止,我不可能知道它是如何完成的。我已经使用eclipse完成了一个Web服务,如果它很容易在azure中部署并使其工作但不可执行。有人能告诉我它是如何完成的吗?

java azure jar
2个回答
1
投票

听起来你想在Azure上运行带有时间触发器的可执行jar文件。简单的方法是将您的jar文件部署为Azure WebApp上的WebJob。以下是执行此操作的步骤。

  1. 创建一个名为.batrun.bat文件,并按如下所示编写以下命令。 set JAVA_HOME=D:\Program Files (x86)\Java\jdk1.8.0_172 set CLASSPATH=.;%JAVA_HOME%\lib set PATH=%JAVA_HOME%\bin;%PATH% java -jar <your jar file name>.jar
  2. run.bat文件和jar文件压缩为zip文件,然后在Azure门户上使用Scheduled触发器和CRON Expression值进行部署。 enter image description here

然后,您可以在Azure门户上启动它,并通过Logs按钮查看正在运行的日志。

注意:有关CRON Expression或其他的更多信息,请参阅官方教程CRON expressionsRun Background tasks with WebJobs in Azure App Service部分。


0
投票

根据您的描述,我认为您的项目缺少应该在web.config路径部署的wwwroot

这是一个示例web.config文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\ROOT.jar&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>

并确保将您的jar文件上传到home\site\wwwroot\bin文件夹。您可以参考这个文档的更多信息:Running java jar file to serve web requests on Azure App Service Web Apps

© www.soinside.com 2019 - 2024. All rights reserved.