我一直在使用Spring + Flex BlazeDS开展项目。
我想在tomcat中使用Jrebel远程调试。但这是问题所在。似乎Jrebel未能识别Flex BlazeDS xml标签。所以当我在catalina.bat中启用Jrebel并尝试启动tomcat时。我在tomcat webapps中的应用程序无法启动上下文初始化,因为Jrebel无法识别xml标记。
[2014-Oct-24 17:13:02,503] [main:ERROR] [ContextLoader]上下文初始化失败 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自XML文档的第27行 ServletContext资源[/WEB-INF/spring/RemotingContext.xml]无效;嵌套异常是org.xm l.sax.SAXParseException:元素类型“flex:”必须后跟任一属性规范,“ “或”/>“。 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBe) anDefinitionReader.java:396) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBean) DefinitionReader.java:334) 在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBean) DefinitionReader.java:302) 在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinition S(AbstractBeanDefinitionReader.java:143) 在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinition S(AbstractBeanDefinitionReader.java:178) 在org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinition S(AbstractBeanDefinitionReader.java:149) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlW) ebApplicationContext.java:124) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlW) ebApplicationContext.java:93) 在org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFact ORY(AbstractRefreshableApplicationContext.java:130) 在org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(Abs tractApplicationContext.java:467) 在org.springframework.context.support.AbstractApplicationContext .__ refresh(AbstractApplicat ionContext.java:397) 在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicatio nContext.java) 在org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.j) AVA:282) 在org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.jav) 一:204) 在org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderLis) tener.java:47)
我的xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:flex="http://www.springframework.org/schema/flex"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.5.xsd
">
<flex:message-broker>
<flex:exception-translator ref="allExceptionTranslator"/>
<flex:remoting-service default-channels="my-amf" />
<flex:message-service default-adapter-id="jms" default-channels="my-polling-amf" />
</flex:message-broker>
<flex:message-destination id="newSystemDate"/>
<flex:remoting-destination ref="mainPanelService"/>
<flex:remoting-destination ref="tradeService"/> </beans>
有没有办法配置Jrebel来识别Flex BlazeDS xml标签? 如果没有,我想在tomcat启动时排除那些xmls,这样Jrebel就不会尝试加载它并且无法启动整个应用程序。
答案 0 :(得分:0)
你知道导致问题的第27行是哪一行吗?根据这个xml部分很难确定它,因为它不包含27行。