Jython говорит "Нет видимых конструкторов для класса" - PullRequest
5 голосов
/ 18 июня 2010

У меня есть сервлет jython как часть большого приложения, работающего на tomcat5. Я протестировал несколько классов Spring Framework и создал объекты в сервлете Jython. Когда я пытаюсь создать объекты классов в приложении, я получаю сообщение об исключении "Нет видимых конструкторов для класса". Эти классы Java имеют открытый класс конструктора, такой как:

public SchoolImpl() { }

Я создаю объект в python:

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

Что я делаю не так?

1 Ответ

3 голосов
/ 18 июня 2010

doublep / cluch ответил на вопрос :-) в комментарии

добавив немного информации:

Из часто задаваемых вопросов Jython:

3.3 Почему'я выполняю "защищенный" или "частный" метод экземпляра Java или обращаюсь к атрибуту "защищенный" или "частный" в пакете Java?

По умолчанию, как и в Java, эти методызащищен от внешнего доступа.Доступ ко всем полям и методам Java можно включить с помощью параметра реестра python.security.respectJavaAccessibility:

# Setting this to false will allow Jython to provide access to
# non-public fields, methods, and constructors of Java objects.
python.security.respectJavaAccessibility = false
...