Добавленная зависимость Java убивает мой старый код манипулирования XMLJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Добавленная зависимость Java убивает мой старый код манипулирования XML

Сообщение Anonymous »

Есть мой старый рабочий код, который перезаписывает XML-файл:

Код: Выделить всё

private static void rewriteXmlDocument(Document document, File xmlFile) throws TransformerException,
FileNotFoundException {
File temporaryFile = new File(xmlFile.getParent() + File.separator + "temporary.xml"); // write to a temporary file
DOMSource source = new DOMSource(document);
TransformerFactory transformerFactory = TransformerFactory.newInstance();

Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

if (temporaryFile.exists()) temporaryFile.delete(); // there is a trash
StreamResult result = new StreamResult(new FileOutputStream(temporaryFile));
transformer.transform(source, result);

xmlFile.delete(); // write succeeded, now we can delete the old
temporaryFile.renameTo(xmlFile); // rename temporary to old name
}
Если я добавлю эти две зависимости в pom.xml (и некоторый код для поиска в docx), я получу исключение из строки TransformerFactory.newTransformer().

Код: Выделить всё

org.docx4j
docx4j
6.1.2


org.glassfish.jaxb
jaxb-runtime
2.3.1

Исключение:

Код: Выделить всё

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xml/serializer/TreeWalker
at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:818)
at AnanlyzeEmails/AnalyzeEmailsApplication.AnalyzeEmailsApp.rewriteXmlDocument(AnalyzeEmailsApp.java:170)
Как я могу использовать свой старый код манипуляции с XML рядом с jaxb?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ulate-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»