excepción moldeada Clase: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl

StackOverflow https://stackoverflow.com/questions/4278213

  •  28-09-2019
  •  | 
  •  

Pregunta

me sorprende con un problema en JBoss. Cuando intento de desplegar mi .war en el servidor, consigo este error siguiente:

java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserF actoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory

partir de la cual, es bastante evidente que existe un choque de bibliotecas. Por lo tanto, me quita el archivo JAR que contiene xerces, que resultó por jaxp-ri-1.4.1.jar. Ahora, cuando intento volver a implementar, consigo este nuevo error,

java.lang.NullPointerException
    at org.apache.commons.digester.Digester.getXMLReader(Digester.java:944)
    at org.apache.commons.digester.Digester.parse(Digester.java:1765)
    at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java

donde se queja de que no puede encontrar los analizadores XML.

Así pues, ahora mi pregunta es que ¿alguien sabe lo que puede ser una solución. Cualquier archivo jar jaxp que no contiene el paquete xerces?

Actualizar

Lo hice como se sugiere aquí y ahora tengo un nuevo error,

java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl

que es una clase de uno de los frascos que he eliminado que contiene SAXParserFactory: (

¿Fue útil?

Solución

Parece que has borrado el archivo JAR mal. El ClassCastException original se informó cuando una instancia de SAXParserFactoryImpl (que es un subtipo de SAXParserFactory) está siendo fundido a SAXParserFactory.

es más probable que sea la excepción debido al hecho de que hay dos instancias de SAXParserFactory en lugar de dos instancias de SAXParserFactoryImpl están cargando en la JVM. En el momento de la fundición, la SAXParserFactory cargado por un cargador de clase diferente fue devuelto resultante en la excepción. Por ello, la solución es identificar JAR en la ruta de clases que tienen versiones contradictorias de SAXParserFactory. La eliminación de la propia aplicación analizador puede que no sea aconsejable, si Commons digestor está buscando una aplicación en particular.

Otros consejos

supongo ... Estás usando JBoss 5.1. Si es así, entonces es parser XML y la carga de clase tema. Debe definir jboss- classloading.xml

http://www.coderanch.com/t/523519/JBoss/Cast y http: // www. mastertheboss.com/jboss-application-ser...oss-5-classloading-issues.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top