2010-06-17 94 views
5

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

public SchoolImpl() { }

我在Python中创建对象:

from com.dc.sports.entity import SchoolImpl

...

school = SchoolImpl()

什么时我做错了?

+1

是'SchoolImpl'一包私人或公共课吗? – doublep 2010-06-17 21:46:18

+0

啊,看起来它是一个私人包裹。谢谢 – Clutch 2010-06-18 06:43:48

+0

+1为Ahh :-) – Blauohr 2010-06-18 08:01:08

回答

3

doublep/cluch :-)回答了这个问题的评论

加入一点点信息:

从Jython的常见问题解答:

3.3为什么我不能执行“保护'或'private'Java实例方法,还是访问Java包中的'protected'或'private'属性?

默认情况下,与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 
+1

看什么是“注册表”:http://www.jython.org/archive/21/docs/registry.html我不确定它是否仍然存在或不在2.5。 – n611x007 2013-03-11 15:42:39

相关问题