Ajax Tomcat6在重新启动后意外(有时)未能部署相同的web应用程序

Ajax Tomcat6在重新启动后意外(有时)未能部署相同的web应用程序,ajax,jsf-2,tomcat6,saxparser,cron-task,Ajax,Jsf 2,Tomcat6,Saxparser,Cron Task,通过重新启动Tomcat6 trought定义的cron作业,我在日志中收到奇怪的错误消息, 这会阻止我的web应用程序工作 背景:我使用Raspbian OS、Java 6、Tomcat 6、JSF API 2.0.1(JSF-IMP2.0.1.jar、JSF-api2.0.1.jar), Ajax(通过JSF2.0.1中嵌入的Ajax功能), 为了开发这个应用程序,我使用Windows和EclipseIndigo、Java6、JSF2.0、Tomcat7。jsf-impl2.0.1.jar和

通过重新启动Tomcat6 trought定义的cron作业,我在日志中收到奇怪的错误消息, 这会阻止我的web应用程序工作

背景:我使用Raspbian OS、Java 6、Tomcat 6、JSF API 2.0.1(JSF-IMP2.0.1.jar、JSF-api2.0.1.jar), Ajax(通过JSF2.0.1中嵌入的Ajax功能), 为了开发这个应用程序,我使用Windows和EclipseIndigo、Java6、JSF2.0、Tomcat7。jsf-impl2.0.1.jar和jsf-api2.0.1.jar放在
/usr/share/tomcat6/lib
文件夹下。
因此,web应用程序像ROOT.war一样部署在
/var/lib/tomcat6/webapps
下,因此我在我的应用程序中不使用任何其他应用程序 小web服务器(Raspberry PI)

所以问题是:通常情况下,我的web应用程序工作正常——在catalina日志中没有任何错误消息,没有任何其他错误,并且可以工作很多天。我定义了一个cron作业,它每天执行一个“一个突击队”脚本 重新启动我的tomcat6:
sudo服务tomcat6重新启动
。但是有时候,我的tomcat6重启失败了 部署我的web应用程序war,每次出现不同的错误消息时都无法启动我的web应用程序,但每次 原因相同:SAX解析器错误,每次都不同。所以,当我手动进行第二次重启时, 第一次从cron作业重新启动后,tomcat立即成功了,日志和我的web应用程序中没有问题 开始正常工作-但问题是,我不能每次第二次或第三次重新启动Tomcat, 因为我不可能每次都受到客户的欢迎。
大家对我的案子有什么想法吗?求求你,救命!我研究了5天,但情况总是不一样。
如果这有帮助的话,当我使用旧的jsf impl和jsf api时, 它工作正常,但在这种情况下,我不能使用Ajax功能。
以下是my web.xml的标题部分:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>a7</display-name>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>  

a7
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/面孔/*
以下是my faces-config.xml的标题部分:

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"  
    version="2.0">  

以下是主要错误,虽然相同,但原因不同:

09-Dec-2014 02:00:49 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of clas
s com.sun.faces.config.ConfigureListener
java.lang.ExceptionInInitializerError
        at com.sun.faces.config.ConfigManager$ParseTask.<init>(ConfigManager.jav
a:810)
        at com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.j
ava:650)
        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:306)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureLi
stener.java:219)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77
9)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778

        .........  
09-Dec-2014 02:00:49 org.apache.catalina.core.StandardContext listenerStart
严重:向clas的侦听器实例发送上下文初始化事件时发生异常
s com.sun.faces.config.ConfigureListener
java.lang.ExceptionInInitializeError
在com.sun.faces.config.ConfigManager$ParseTask上
a:810)
在com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.j
艾娃:650)
在com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:306)上
在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureLi
stener.java:219)
位于org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t、 爪哇:4206)
位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4
705)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:799)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77
9)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
位于org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778
.........  
例如,SAX解析器错误有3种不同的原因,其中有很多不同的原因:

......
Caused by: com.sun.faces.config.ConfigurationException: org.xml.sax.SAXParseExce
ption; lineNumber: 172; columnNumber: 33; src-resolve: Cannot resolve the name '
xml:lang' to a(n) 'attribute declaration' component.
        at com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
        at com.sun.faces.config.DbfFactory.<clinit>(DbfFactory.java:186)  

.......
Caused by: com.sun.faces.config.ConfigurationException: org.xml.sax.SAXParseExce
ption; lineNumber: 56; columnNumber: 7; The element type "xtion" must be termina
ted by the matching end-tag "</xtion>".
        at com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
        at com.sun.faces.config.DbfFactory.<clinit>(DbfFactory.java:186)  

.......
Caused by: com.sun.faces.config.ConfigurationException: org.xml.sax.SAXParseExce
ption; lineNumber: 389; columnNumber: 33; Open quote is expected for attribute "
{1}" associated with an  element type  "id".
        at com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
        at com.sun.faces.config.DbfFactory.<clinit>(DbfFactory.java:186)  
。。。。。。
原因:com.sun.faces.config.ConfigurationException:org.xml.sax.saxparseExe
选项;行号:172;列号:33;src解析:无法解析名称
xml:lang'到(n)'属性声明'组件。
位于com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
位于com.sun.faces.config.DbfFactory.(DbfFactory.java:186)
.......
原因:com.sun.faces.config.ConfigurationException:org.xml.sax.saxparseExe
选项;行号:56;列号:7;元素类型“xtion”必须是termina
由匹配的结束标记“”指定。
位于com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
位于com.sun.faces.config.DbfFactory.(DbfFactory.java:186)
.......
原因:com.sun.faces.config.ConfigurationException:org.xml.sax.saxparseExe
选项;行号:389;列号:33;属性“”需要打开引号
{1} 与元素类型“id”关联。
位于com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:269)
位于com.sun.faces.config.DbfFactory.(DbfFactory.java:186)

提前感谢您的帮助!

经过数月的研究和编程尝试,我找到了解决方案。它是 版本兼容性问题与
jsp
css
语法错误相结合。对于Tomcat6,JSF 1.2,我们必须使用较低的 RichFaces Ajax的版本。但不仅如此。看看你的
jps
css
。Ajax库每次都要解析它 Tomcat的重新启动。一旦Tomcat的日志中有 语法SAX分析错误,例如:

Caused by: org.xml.sax.SAXParseException; lineNumber: 389; columnNumber: 33; Ope
n quote is expected for attribute "{1}" associated with an  element type  "id".
每次错误信息不同时,就像我的情况一样, 意味着,.jsp和.css中存在解析错误。 我的案例的解决方案是在版本之间进行正确的组合 使用Tomcat6、JSF1.2和RichFaces Ajax,并清理my.jsp和.css的 语法错误。请注意,如果没有Ajax,JSF库不会有问题
通过对旧源代码的解析。

几个月后,你可以在这里分享这个!并且你调试了几个月!(顺便说一句:如果你愿意,你可以接受你自己的答案:)谢谢,Rizier123,我建议,其他人接受我的答案。非常感谢你的评论。