Jython ImportError при встраивании в Java на xml.dom.minidom - PullRequest
2 голосов
/ 23 января 2012

У меня есть скрипт Python, который обрабатывает XML с использованием xml.dom.minidom.Когда я выполнил это с помощью Jython из командной строки (jython myfile.py), все было хорошо.Но когда я попытался сделать то же самое, встроив его в Java-приложение (я имею в виду чтение его как строки Java, а затем передачу этой строки для оценки), я получил:

import xml.dom.minidom ImportError: Нетмодуль с именем xml

, который сводит меня с ума.Я пытался использовать другую версию jython (2.2, 2.5) для очистки кэша, но ничего не работает!

Документация Jython говорит мне, что мы можем использовать этот модуль без каких-либо особых замечаний.

Некоторыеу людей была такая же проблема в интернете, но они не получали никаких ответов.Кроме этого: здесь но все равно ничего не работает.Я думаю, что у меня есть правильные значения в моем реестре Jython, потому что он работает с использованием командной строки!Это просто встраивание, которое терпит неудачу.

Я использую полную установку Jython.

Почему так много проблем, так?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Я никогда не делал этого раньше, но вы пытаетесь внедрить Jython, как они сделали здесь или здесь ? Вы знаете, откуда вы взяли jython.jar в вашем classpath Java? если вы знаете, где находится ваш jython-модуль на диске, вы можете просто добавить этот путь, как они сделали в нижней части этой страницы . Чтобы найти местоположение вашего модуля, загрузите jython и найдите в sys.path путь, который заканчивается на Lib. в этом расположении должен быть каталог с именем xml (пакет xml), содержащий каталог с именем dom (пакет dom), содержащий файл minidom.py (модуль minidom).

0 голосов
/ 15 марта 2012

Модуль xml (jython) не находится на пути python встроенного jython.

Это может помочь:

  • использовать jython-jar, который содержитLib (и все Батареи :-)
  • помещают Libs в путь к классу вашего java-приложения

, чтобы помочь отладке:

log "sys.path"во встроенном Jython

...