Azure已上传jar,但未运行它(春季启动)

时间:2018-12-11 21:17:55

标签: java azure azure-web-sites

我已经拥有一个Azure Web App Service和一个SQL数据库。我正在使用Azures Intellij插件来“在Web App上运行”。问题是,它什么也没运行,但是确实将罐子放在文件夹中:

Connecting to FTP server...
Uploading artifact to: /site/wwwroot/ROOT.jar ...
Uploading successfully...
Start Web App...
Logging out of FTP server...
Deploy successfully!

然后,我使用控制台尝试通过使用ROOT.jar运行java -jar ROOT.jar,但收到错误消息

  

Java不被识别为内部命令或外部命令

在webapp应用程序设置中,我有Java Version: Java 8,因此我认为它可以让我运行Java,但这只是让我怀疑我的操作方式。我部署应用程序是否错误?

1 个答案:

答案 0 :(得分:1)

听起来您的SpringBoot项目缺少一个web.config文件,该文件将部署在路径wwwroot上,以帮助处理您的ROOT.jar

这是SpringBoot可运行jar的示例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>

如上所述,它来自我对类似的SO线程Deploying Springboot to Azure App Service的回答,您可以参考它。