Jython说"没有类似的可见构造函数"

Clu*_*tch 5 python java tomcat servlets jython

我有一个jython servlet作为在tomcat5中运行的大型应用程序的一部分.我测试了一些Spring Framework类并在Jython servlet中创建了对象.当我尝试在应用程序中创建类的对象时,我捕获一个异常消息"没有可见的类构造函数".这些java类确实有一个公共构造函数类,例如:

public SchoolImpl() { }

我在python中创建对象:

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

我究竟做错了什么?

Bla*_*ohr 3

doublep / cluch 在评论中回答了问题:-)

添加一点信息:

来自 Jython 常见问题解答:

3.3 为什么我无法执行“受保护”或“私有”Java 实例方法或访问 Java 包中的“受保护”或“私有”属性?

默认情况下,与 Java 中一样,这些方法受到保护,免受外部访问。可以使用 python.security.respectJavaAccessibility 注册表设置启用对所有 Java 字段和方法的访问:

# Setting this to false will allow Jython to provide access to
# non-public fields, methods, and constructors of Java objects.
python.security.respectJavaAccessibility = false
Run Code Online (Sandbox Code Playgroud)