tomcat8 - 如何修复部署war文件后出现黑屏
问题描述
我仍然在使用 RapidClipse 4.0 的项目上工作,我在生产服务器上部署了几个版本的项目 war 文件。一切正常。上次部署后,加载应用程序 URL 后出现空白屏幕
对于服务器,我使用具有以下设置的 docker 容器:Apache Tomcat/8.5.43, JVM: 1.8.0_222-b10, 3.10.105, amd64
我的第一个想法是:“好吧,你的代码做错了..回头,一切都很好.... :-((
不是!!
我使用了几个运行良好的版本。我停止了应用程序,重新部署并删除了它。然后我部署了一个旧版本..再次部署了一个旧版本..aso
之前运行良好的版本都没有再次运行。我每次都得到相同的结果:加载应用程序后出现空白屏幕。
到目前为止很糟糕:如果部署参数设置正确,我尝试查看 ../conf/server.xml :
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
看起来不错!
我通过以下方式增强了缓存:
$CATALINA_BASE/conf/context.xml 添加了以下代码:
<Resources cachingAllowed="true" cacheMaxSize="100000" />
也没有成功。
我试图查看 catalina.out:仍然没有任何帮助:
14-Aug-2019 20:29:21.087 INFO [http-nio-8080-exec-6] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/RC_07.war]
14-Aug-2019 20:29:31.190 INFO [http-nio-8080-exec-6] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/RC_07.war] has finished in [10,102] ms
在浏览器中调试后,我得到以下信息:
257ms Processing time was 134ms
257msReferenced paintables: 6
283msEstablishing push connection
300msCould not load theme from http://myIP:8888/RC_07/VAADIN/themes//styles.css?v=7.7.13
310msPush connection established using long-polling
我还在 docker 容器的历史中进行了搜索,发现在我之前部署的所有版本中,这个问题(300 毫秒 ....)仍然从一开始就存在。因此,我认为这也不是原因。
还是我错了?
我搜索了这个 VAADIN 问题,发现了很多,但我无法解决它。styles.css 文件仍然在服务器上。
我想知道 ..../VAADIN/themes//styles.css ... 错误消息中的双斜杠。
但是在我的代码中我找不到类似的。
此外,eclipse 中的构建路径包括预期的文件夹结构。
现在我走到了尽头!
我很困惑,我应该如何继续找出这种行为的原因,或者更好地解决它。
欢迎任何想法/帮助!
提前谢谢你
rgds
OpaHeinz
解决方案
经过长期研究,在 RapidClipse 的支持下,我们找到了解决方案。
我有两个问题:
1) 未知如何,我们假设 MainUI xml 文件中存在错误。
重新设置视图和布局的高度,并返回到之前
的设置后,页面元素在设计视图中再次可见。
2)MainUI属性下有一个主题的参数 - misc -
这个参数被设置了,但是没有内容。这会产生一行代码: this.setTheme("");
重置后,可以像以前一样进行部署。
现在一切都很好。
再次感谢 RapidClipse 的支持。
推荐阅读
- swift - Swift 使用高阶函数
- python - Jupyter Notebok - ConnectionResetError: [WinError 10054] 现有连接被远程主机强行关闭
- python - 二维数组的累计和
- python - 当用作同一数据帧的索引时,数据帧切片内的系列的 np.argmax 返回的索引指向错误的值
- php - 如何在 Docker 容器中升级 PHP Alpine
- spring-boot - 使用 Gradle 和 Kotlin 创建 Spring Cloud 数据流处理器
- php - 如何使用 ajax 将文章 id 传递给 pangination 页面?
- r - 将具有自定义日期的熔化 df 转换为时间序列
- java - 如何在 Java xml Parser 的 getElementsByTagName 方法中使用正则表达式
- c++ - 为什么 g++ 在编译时给我冲突错误?