java org.springframework.beans.factory.BeanDefinitionStoreException:从类路径资源解析 XML 文档时出现意外异常

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1676746/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-29 17:33:37  来源:igfitidea点击:

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource

javaspringexceptionconfigurationjnlp

提问by David Rabinowitz

Hi I am developing a RIA application using SWING as client,Java WebStart JNLP and Spring on server side using HTTPInvoker.

嗨,我正在使用 HTTPInvoker 在服务器端使用 SWING 作为客户端、Java WebStart JNLP 和 Spring 开发 RIA 应用程序。

I am getting the below error message when I am trying to Launch & Run my application from JNLP. But if I run the same as java application it workes fine and communicate with server and fetch data using spring bean.

当我尝试从 JNLP 启动和运行我的应用程序时,我收到以下错误消息。但是,如果我运行与 java 应用程序相同的应用程序,它可以正常工作并与服务器通信并使用 spring bean 获取数据。

My client.xml file is in a client package and looked by jnlp.

我的 client.xml 文件位于客户端包中,并由 jnlp 查找。

Here is my JNLP file :

这是我的 JNLP 文件:

<?xml version="1.0" encoding="utf-8"?> 
<jnlp spec="1.0+" codebase="http://localhost:9080/fawsServer" href="fawsWebstart.jnlp">   
  <information> 
    <title>Force Analyst</title> 
    <vendor>***</vendor>      
    <description>Force Analyst</description>     
    <description kind="short">
       A demo of the capabilities of JAVA WebStart.
    </description>     
    <offline-allowed>false</offline-allowed>
  </information>

  <resources> 
    <j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se"/> 
    <jar href="fawsClient.jar" download="eager" main="true"/>
    <jar href="fawsModel.jar" download="eager" main="false"/>
    <jar href="fawsIcons.jar" download="eager" main="false"/>   
    <jar href="spring-core.jar" download="eager" main="false"/>
    <jar href="commons-logging-1.0.4.jar" download="eager" main="false"/>
    <jar href="spring-2.5.6.jar" download="eager" main="false"/>
  </resources> 

  <application-desc
         name="Force Analyst Application"
         main-class="com.att.edge.fawsclient.main.SplashWindow"
         width="710"
         height="380">
  </application-desc>
  <update check="background"/>
</jnlp>

ERROR :

错误 :

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at com.att.edge.fawsclient.dao.factory.DAOFactory.getMessagesDAO(DAOFactory.java:110)
    at com.att.edge.fawsclient.comm.messages.ReadMessagesFrame.<init>(ReadMessagesFrame.java:114)
    at com.att.edge.fawsclient.comm.messages.ReadMessagesFrame.getReadMessagesFrame(ReadMessagesFrame.java:87)
    at com.att.edge.fawsclient.main.ForceAnalystPalette.getMessageFrame(ForceAnalystPalette.java:306)
    at com.att.edge.fawsclient.main.ForceAnalystPalette.actionPerformed(ForceAnalystPalette.java:1173)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [fawsClient-client.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)
    at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
    at com.att.edge.fawsclient.dao.factory.DAOFactory$BeanFactoryHolder.<clinit>(DAOFactory.java:40)
    ... 30 more
Caused by: java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:99)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:78)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.createBeanDefinitionDocumentReader(XmlBeanDefinitionReader.java:518)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:505)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
    ... 35 more

回答by David Rabinowitz

The relevant class (org.springframework.util.ReflectionUtils) exists in both sping-2.5.6.jar and in spring-core.jar, and I guess it causes a mix up. As a start, I would drop spring-core.jar, as it is included in the big spring.jar.

相关类 (org.springframework.util.ReflectionUtils) 存在于 sping-2.5.6.jar 和 spring-core.jar 中,我猜它会导致混淆。首先,我将删除 spring-core.jar,因为它包含在大 spring.jar 中。