首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat自动解包WAR文件已更改文件的上次修改时间

问Tomcat自动解包WAR文件已更改文件的上次修改时间
EN

Stack Overflow用户
提问于 2011-09-28 23:18:23
回答 1查看 3.1K关注 0票数 1

当我试图将WAR文件部署到tomcat时,我遇到了一个问题。当从tomcat执行自动解包过程时,正在修改解包文件的上次修改日期。解包web应用的日期。文件速度加快了12个小时,这导致了几个杂项错误。

我尝试通过jar -xvf手动解压,文件的最后修改日期保持不变。我还在本地的tomcat (与dev相同的时区)中测试。环境),上次修改日期未发生任何变化。

似乎是tomcat时区的问题,我可以在tomcat上进行设置来解决这个问题吗?非常感谢您的帮助。

环境: linux上的Tomcat6,在服务器和Tomcat中都设置了GMT-4时区设置了GMT+8时区的机器创建的WAR文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-19 05:01:29

在我的示例中,应用程序在初始化应用程序时从Tomcat中设置默认时区。时区更改带来的差异与文件修改时间中的偏移量相匹配。

令我惊讶的是,应用程序中的任何代码都可以在解压之前运行,但Tomcat容器确实给了应用程序在解压所有文件之前运行初始化代码的机会。

查找出现TimeZone.setDefault()的情况,并尝试删除调用或将调用移至初始化序列的后面部分。

有用的线索:

这个JSP告诉我,无论环境设置如何,应用程序始终以特定时区运行:

代码语言:javascript
复制
<html> 
<body> 
<h2>Current Timezone</h2> 
<%    java.util.Date date = new java.util.Date();       
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("zzz"); %> 
<%=sdf.format(date)%> 
</body> 
</html>

在日志文件中,我可以看到时区更改的瞬间(四小时跳跃)。它发生在应用程序加载的时候。

注意:设置完成后,时区将保持设置状态,直到Tomcat重启。

代码语言:javascript
复制
Sep 18, 2015 2:34:26 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8443
Sep 18, 2015 2:34:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 285 ms
Sep 18, 2015 2:34:26 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Sep 18, 2015 2:34:26 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
Sep 18, 2015 2:34:26 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive myWebapp.war
Sep 18, 2015 6:34:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verifying ModuleConfig for this module
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verification of ModuleConfig has been completed
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verifying ModuleConfig for this module
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7585478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档