Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Azure WebApp中的Tomcat未启动_Java_Azure_Azure Web App Service - Fatal编程技术网

Java Azure WebApp中的Tomcat未启动

Java Azure WebApp中的Tomcat未启动,java,azure,azure-web-app-service,Java,Azure,Azure Web App Service,我在Azure中创建了一个webapp,并在D:\home\site\wwwroot\webapps文件夹中上载了一个war文件。我使用具有标准定价层的应用程序服务计划。 我已经完成了应用程序设置菜单中激活Java和Tomcat的设置: java版本:Java8 java次要版本:最新版本 Web容器:最新的Tomcat 如果“始终打开”选项未激活,则我的Tomcat不会启动。没有启动java进程,我的war文件没有解压缩。我已经做了几次应用程序的停止/启动,但什么都没有发生。 一旦我激活了

我在Azure中创建了一个webapp,并在D:\home\site\wwwroot\webapps文件夹中上载了一个war文件。我使用具有标准定价层的应用程序服务计划。 我已经完成了应用程序设置菜单中激活Java和Tomcat的设置:

  • java版本:Java8
  • java次要版本:最新版本
  • Web容器:最新的Tomcat
如果“始终打开”选项未激活,则我的Tomcat不会启动。没有启动java进程,我的war文件没有解压缩。我已经做了几次应用程序的停止/启动,但什么都没有发生。 一旦我激活了“始终打开”,Tomcat就会启动并部署应用程序。 具有免费定价层的服务计划中不提供“始终开启”


有人知道Azure为什么会这样吗

我试图重现您通过FTP所说的行为,以下是我在Tomcat 8.5.6上观察到的@GopiKolla所说的行为,如下所示

  • 如果禁用
    始终打开
    选项,则上载的
    .war
    文件将不会自动解压缩。然而,当我试图访问
    .war
    文件的webapp的url时,它在十秒钟后被解压到一个名为war的目录中
  • 如果启用此选项,所有war文件将立即自动解压缩
  • 我检查了所有配置和环境变量,包括属性
    autodeploy
    unpacwars
    deployOnStartup
    ,等等,这些不会随选项开关而改变。我从Tomcat(,)的官方相关文档中搜索了对该案例的解释,没有任何有用的信息可以解释它。只是一个猜测&根据我的经验,我认为Azure通过IIS限制运行时的生命周期,以确定是否通过选项
    始终打开
    激活
    web.config
    中定义的
    httpPlatformHandler
    进程

    希望有帮助。

    谢谢您的反馈。 我昨天又做了一次测试,我想我已经了解了Azure WebApp的工作原理。 当您在webapps文件夹中上传war文件时,即使tomcat被配置为解包并加载war,java进程也不会启动

    只有当您单击网站的URL时,它才会启动java进程。

    如果不单击,则不会生成任何java进程。第一次单击将为Tomcat生成java进程

    我想这是IIS工作人员的正常行为


    所以现在,当我部署Java应用程序时,我总是在URL上执行一次触摸,以确保webapp真正启动

    它是在您第一次请求服务后启动/解压,还是“从未”启动?它从未启动。当我停用“始终打开”选项时,java进程被终止。听起来像是Azure支持电话或MSDN论坛。这似乎不像IMHOAs@CtrlDot在上面所说的正常行为。我观察到的行为是,当“始终打开”未激活时,活动(启动/解压)会在第一次请求时发生。经过一段非活动时间后,再次取消部署应用程序并停止tomcat。