Error starting static Resources

Error starting static Resources

启动静态资源错误


运行环境

  • Apache Tomcat/7.0.81
  • Eclipse Luna Release (4.4.0)
  • jdk1.8.0_102
  • apache-maven-3.5.3

Bug描述

基于Maven搭建的Web项目Dome启动时,在Eclipse的Console窗口打印启动日志处出现Error starting static Resources,项目仍可正常运行。

具体Bug

Error starting static Resources

Bug分析

  1. 分析异常信息

    java.lang.IllegalArgumentException: Document base D:\Learn\code\Eclipse_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\alipay.trade.page.pay-JAVA-UTF-8 does not exist or is not a readable directory

    上述异常信息表示文件alipay.trade.page.pay-JAVA-UTF-8不存在或不是一个可读目录

    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/alipay.trade.page.pay-JAVA-UTF-8]]

    上述异常信息表示启动组件alipay.trade.page.pay-JAVA-UTF-8失败

    Error deploying configuration descriptor D:\Learn\code\Eclipse_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\alipay.trade.page.pay-JAVA-UTF-8.xml

    上述异常信息表示部署配置alipay.trade.page.pay-JAVA-UTF-8.xml文件的描述符错误

  2. 根据上述分析,可初步判断为alipay.trade.page.pay-JAVA-UTF-8.xml该XML文件配置的静态资源不存在,导致无法启动alipay.trade.page.pay-JAVA-UTF-8组件

  3. 经具体查看发现确实是alipay.trade.page.pay-JAVA-UTF-8.xml该XML文件配置的静态资源不存在,导致无法启动alipay.trade.page.pay-JAVA-UTF-8组件

    • Tomcat下只显示部署了maven-dome-web

    • 而异常信息中的指定XML文件路径下却有4个项目的XML配置文件

    • 查看alipay.trade.page.pay-JAVA-UTF-8.xml

    • 根据配置文件中的路径查找,发现只有maven-dome-web,并没有alipay.trade.page.pay-JAVA-UTF-8

解决办法

D:\Learn\code\Eclipse_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\alipay.trade.page.pay-JAVA-UTF-8.xml同路径下的除maven-dome-web.xml文件以外的其他XML文件删除即可。

补充

后续发现上诉解决办法无法从根本上解决问题,每当有新的未加入Tomcat的项目加入Tomcat启动时,之前被删除的XML文件又恢复了,Error starting static Resources随之再次出现,通过查找资料发现按以下步骤可根本性解决问题。实际上之前删除的XML文件就是由此处配置的,当加入新的项目时,Tomcat会重新加载生成这些XML配置文件,所以出现了之前被删除的文件又恢复的情况。


学习所得,资料、图片部分来源于网络,如有侵权,请联系本人删除。

才疏学浅,若有错误或不当之处,可批评指正,还请见谅!


 
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×