2010-06-17 34 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

相關問題