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

时间:2019-03-19 16:27:45

标签: java azure jar

我有一个用Java开发的应用程序。 我已经将其导出到可执行jar中,我想将其上传到azure,以便按一定的时间表运行。 到目前为止,我还无法知道它是如何完成的。 我已经用eclipse完成了一项Web服务,如果可以轻松地将其部署在Azure中并使其正常运行却不能执行。 有人可以告诉我该怎么做吗?

2 个答案:

答案 0 :(得分:1)

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

  1. 创建一个名为.bat的{​​{1}}文件,并编写以下命令。

    run.bat
  2. 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 文件和jar文件压缩为一个zip文件,然后使用run.bat触发器和一个Scheduled值在Azure门户上进行部署。

    enter image description here

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

注意:有关Logs或其他信息的更多信息,请参见官方教程CRON Expression的{​​{3}}部分。

答案 1 :(得分: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