Jython не говоря “Видимых конструкторов для класса”

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

public SchoolImpl() { }

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

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

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

5
задан Clutch 17 June 2010 в 20:55
поделиться

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
3
ответ дан 15 December 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: