我有一个用Java开发的应用程序。 我已经将其导出到可执行jar中,我想将其上传到azure,以便按一定的时间表运行。 到目前为止,我还无法知道它是如何完成的。 我已经用eclipse完成了一项Web服务,如果可以轻松地将其部署在Azure中并使其正常运行却不能执行。 有人可以告诉我该怎么做吗?
答案 0 :(得分:1)
听起来您想在Azure上运行带有时间触发器的可执行jar文件。简单的方法是将jar文件部署为Azure WebApp上的WebJob。这样做的步骤如下。
创建一个名为.bat
的{{1}}文件,并编写以下命令。
run.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
文件和jar文件压缩为一个zip文件,然后使用run.bat
触发器和一个Scheduled
值在Azure门户上进行部署。
然后,您可以在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 "%HOME%\site\wwwroot\ROOT.jar"">
</httpPlatform>
</system.webServer>
</configuration>
并确保将jar文件上传到home\site\wwwroot\bin
文件夹。有关更多信息,请参考此文档:Running java jar file to serve web requests on Azure App Service Web Apps。