繁体   English   中英

在 Jython 中访问 Java 类的成员时出现 AttributeError

[英]AttributeError when accessing member of Java class in Jython

我正在尝试将我自己的 java 类导入到一些 jython 代码中。 我将我的 .java 编译为一个 .class 文件并将 .class 文件放入一个 .jar 中。 然后我使用 -Dpython.path="path/to/jar/my.jar" 包含这个 .jar 文件。 到目前为止一切顺利,启动我的程序时没有抱怨。

但是,当我到达使用我的 java 类的代码部分时,它似乎在我的 java 类中找不到任何函数。 我得到以下AttributeError

AttributeError: 'pos.Test' object has no attribute 'getName'

我们欢迎所有的建议! (下面的代码示例。)

爪哇代码:

package pos;

class Test{

    private String name;

    public Test(){
        name = "TEST";
        System.out.println( "Name = " + name );
    }

    public String getName(){
        return name;
    }   
}

Jython 代码片段:

import pos.Test

...

test = pos.Test()

print 'Name = ', test.getName()

这是关于可见性。 您的课程是package-private 如果它会起作用

python.security.respectJavaAccessibility = false

已添加到 Jython 注册表中。 请参阅https://www.jython.org/registry.html

或者公开课程。

您必须先在 Jython 代码中导入 Java 类,然后才能使用它。 就像是:

from pos import Test

test = Test()
print 'Name = ', test.getName()

请参阅Jython Book 的第 8 章以了解导入路径等在 Jython 中的工作方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM