代码之家  ›  专栏  ›  技术社区  ›  Clutch

Jython说“类没有可见的构造函数”

  •  5
  • Clutch  · 技术社区  · 14 年前

    我有一个Jython servlet作为在Tomcat5中运行的大型应用程序的一部分。我测试了一些Spring框架类,并在JythonServlet中创建了这些对象。当我试图在应用程序中创建类的对象时,我捕获了一条异常消息“类没有可见的构造函数”。这些Java类确实有一个公共构造函数类,例如:

    public SchoolImpl() { }

    我用python创建对象:

    from com.dc.sports.entity import SchoolImpl

    ...

    school = SchoolImpl()

    我做错什么了?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Blauohr    14 年前

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

    只添加一点信息:

    来自Jython常见问题解答:

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

    默认情况下,与Java一样,保护这些方法不受外部访问的影响。可以使用Python .CurrutyReabjjavaAccess集注册设置来启用对所有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