Для добавления ко всему объяснению выше я предложу, используют схему управления версиями, которую, будет легко для клиентов помнить и легкий для Вас к базовой линии и управлять Вашими версиями программного обеспечения. Кроме того, при поддержке различной платформы, такой как.Net 1.0.Net1.1 и т.д., затем удостоверьтесь, что схема управления версиями заботится об этом также.
Если вы используете подходящий синтаксический анализатор, попробуйте функцию load-external-dtd
.
def parser= new XmlParser()
parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false)
def sqlMapOld= parser.parse(new FileInputStream(file))
В противном случае, я думаю, вам придется установить EntityResolver , который ничего не делает.
Анализатор пытается загрузить внешнее DTD, указанное в DOCTYPE.
У вас есть два варианта: отключить использование внешнего DTD или настроить среду Java / Groovy XML для использования локальный каталог DTD.
Вы можете отключить загрузку внешнего DTD с помощью
def p = new XmlParser()
p.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false)
p.parse(file)
. Информацию о настройке и использовании локального каталога см. http://www.sagehill.net/docbookxsl/WriteCatalog.html
Попробуйте
def sqlMapOld = new XmlParser (false, true) .parse (file)
, чтобы сделать его недействительным