我已经拥有一个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,但这只是让我怀疑我的操作方式。我部署应用程序是否错误?
答案 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 "%HOME%\site\wwwroot\ROOT.jar"">
</httpPlatform>
</system.webServer>
</configuration>
如上所述,它来自我对类似的SO线程Deploying Springboot to Azure App Service的回答,您可以参考它。