Je dois modifier l'implémentation par défaut dans mon projet pour org.w3c.dom.Document
.Modification de l'implémentation par défaut de org.w3c.dom.Document
J'ai suivi this link pour modifier l'implémentation par défaut pour:
javax.xml.parsers.DocumentBuilderFactory
javax.xml.parsers.SAXParserFactory
javax.xml.transform.TransformerFactory
J'ai créé 3 fichiers avec les noms ci-dessus avec en META-INF/services
et mis dans chacune des lignes suivantes:
Dans le fichier: javax.xml.parsers.DocumentBuilderFactory
je mets: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
Dans le fichier: javax.xml.parsers.SAXParserFactory
je mets: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
Dans le fichier: javax.xml.transform.TransformerFactory
je mets: org.apache.xalan.processor.TransformerFactoryImpl
Mais quand je déployé sur Oracle Application Server je suis arrivé que la classe de mise en œuvre de org.w3c.dom.Document
est: oracle.xml.parser.v2.XMLDocument
au lieu de com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl
qui est en cours d'impression en développement sur la jetée.
Je développe sur Jetty et le déploiement sur le serveur d'applications Oracle.
Le mécanisme de services concerne les composants qui fournissent un service annonçant qu'ils le font. Il s'agit de fournir un choix. Il ne s'agit pas * de * spécifier * quel * choix à faire, et me fier à classpath ordering pour l'utiliser pour faire cela qui me semble être un kludge. La méthode des propriétés système est un moyen de faire un choix explicite, et c'est donc la bonne façon de le faire ici. –
@ Tom Anderson - pour la défense de l'OP, ma lecture du document lié est que l'approche «services» devrait fonctionner. Et j'ai trouvé d'autres résultats de recherche qui suggèrent que c'est aussi vrai pour la SV. Cependant, je dois admettre que la façon dont le document est formulé laisse planer un doute et je n'ai pas pu trouver de documentation spécifique à l'OEA. –
oui, vous avez raison. L'approche des services devrait vraiment fonctionner partout, car elle fait partie de l'ECJ. Je pense simplement qu'il vaut mieux être explicite. –