Jython говорит "Нет видимых конструкторов для класса"

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

public SchoolImpl() { }

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

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

Что я делаю неправильно?

1 ответ

Решение

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

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

Из FAQ по 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
Другие вопросы по тегам