Ошибка преобразователя Java: не удалось скомпилировать таблицу стилей

Я хочу преобразовать XML с помощью XSLT в Java. Для этого я использую пакет javax.xml.transform . Однако я получаю исключение javax.xml.transform.TransformerConfigurationException: не удалось скомпилировать таблицу стилей . Это код, который я использую:

public static String transform(String XML, String XSLTRule) throws TransformerException {

    Source xmlInput = new StreamSource(XML);
    Source xslInput = new StreamSource(XSLTRule);

    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer(xslInput); // this is the line that throws the exception

    Result result = new StreamResult();
    transformer.transform(xmlInput, result);

    return result.toString();
}

Обратите внимание, что я отметил строку, которая вызывает исключение. // ... общедоступная дата getSomeDate () {return someDate; } и Findbugs сообщает, что это открывает изменяемый объект: «Может ...

У меня есть метод получения Java, который выглядит следующим образом:

import java.util.Date;
//...
public Date getSomeDate() {
  return someDate;
}

, а Findbugs сообщает, что это предоставляет изменяемый объект:« Может раскрыть внутреннее представление с помощью возврат ссылки на изменяемый объект ". Я изменил код на этот:

import java.util.Date;
//...
public Date getSomeDate() {
  return new Date(someDate.getTime());
}

, но Findbug по-прежнему сообщает о той же уязвимости. Что еще я могу сделать, чтобы подавить / исправить эту проблему? Я использую Findbugs 1.3.9 в плагине IntellJ 10 Findbugs.

6
задан Gabe 30 March 2011 в 02:59
поделиться