我在Azure中创建了一个webapp,并在D:\home\site\wwwroot\webapps文件夹中上传了一个war文件。我使用一个有标准定价层的应用程序服务计划。我已经在应用程序设置菜单中进行了激活Java和Tomcat的设置:
如果没有激活“Always On”选项,我的Tomcat就不会启动。没有启动Java进程,我的war文件没有解压缩。我已经做了几次停止/启动应用程序,但什么也没有发生。一旦我激活了“Always On”,Tomcat就会启动并部署应用程序。“始终开启”在具有自由定价级别的服务计划中不可用。
有人知道Azure为什么会这样吗?
谢谢你的反馈。昨天我又做了一次测试,我想我已经理解了Azure WebApp是如何工作的。当您在webapps文件夹中上传war文件时,即使将tomcat配置为解包并加载war,也不会启动Java进程。
它将启动Java进程只有当你点击你的网站的URL。
如果不点击,则没有分叉Java进程。第一次单击将为Tomcat派生Java进程。
我想这是IIS工作人员的正常行为。
所以现在,当我部署一个Java应用程序时,我总是在URL上执行触摸操作,以确保webapp真的启动了。
我试图通过FTP再现您所说的行为,下面是我在Tomcat 8.5.6上观察到的@Gopikolla所说的,如下所示。
始终打开
选项,则上载的.war
文件不会自动解压缩。但是,当我试图访问.war
文件的webapp的url时,它在十秒钟后被解压缩到一个与war同名的目录。我已经检查了所有的配置和环境变量,包括属性autodeploy
、unpackwars
和deployonstartup
等,这些都不会随着选项开关而改变。我从Tomcat的官方相关文档(1,2,3)中搜索了这个案例的解释,没有任何有用的信息可以解释它。只是一种猜测&根据我的经验,我认为Azure通过IIS限制运行时的生命周期,以确定是否通过Always ON
选项激活Web.config
中定义的HttpPlatformHandler
进程。
希望有帮助。
它构建应用程序并按预期将其部署到Jetty。 现在我也想将相同的应用程序部署到Tomcat7,为了实现同样的目的,我运行了gradle war任务,如下所示: 运行该任务后,我可以在中看到deploy-1.0.war,当我试图将它部署到Tomcat7时,Tomcat没有接收到它。 我的问题是--我需要应用任何附加的插件来使应用程序可部署到Tomcat7吗? 多谢了。
我有一个调用MMQ侦听器的Java Servlet。我正在Tomcat服务器中部署应用程序 AppServlet.java
尝试启动Tomcat时出现一个通用错误。下面是StackTrace: 下面是POM:http://maven.apache.org/maven-v4_0_0.xsd“>4.0.0 edu.rutgers spring-social-orcid-client-boot spring-social-orcid-client-boot 1.1.0 多谢了。
我正在以下链接中使用sysdeo插件进行tomcat安装: http://technologicaloddity.com/using-projects/Java-projects/setting-up-the-sysdeo-tomcat-plug-in/ 由于我需要从我的spring mvc在tomcat中运行solrserver,所以我选择了上面的链接。 我配置了所有的东西,也做了solr wa
Tomcat没有在eclipse中启动,Tomcat已经启动并且正在用完eclipse。 null 2. 原因:java.lang.NoClassDefoundError:lLogger;在java.lang.class.GetDeclaredFields0(本机方法)在java.lang.class.PrivateGetDeclaredFields(class.java:2397)在java.l