如何从Ballerina调用用户定义的非静态Java方法

问题描述 投票:0回答:2

example [1]显示了如何调用Java方法。但就我而言,我需要从自己的类中调用自己的方法。像这样的东西

Hello.java

public class Hello {
    public String sayHello() {
        return "Hello . . .";
    }
}

hello_java.bal

import ballerina/io;
import ballerina/java;

function sayHelloJava() returns handle = @java:Method {
    name: "sayHello",
    class: "Hello"
} external;


public function main() {
    var txt = sayHelloJava();
    io:println(txt);
}

运行时,出现以下异常

Compiling source
        hello_java.bal
error: .::hello_java.bal:4:1: {ballerina/java}CLASS_NOT_FOUND 'Hello'
Running executables

Error: Could not find or load main class ___init

.class.bal文件都在同一目录中

有人可以告诉我在芭蕾舞女演员中调用sayHello java方法的正确语法。

您还可以在芭蕾舞女演员中解释有关handle关键字的更多信息吗?>

[1] https://ballerina.io/v1-2/learn/by-example/invoke-java-methods.html

example [1]显示了如何调用Java方法。但就我而言,我需要从自己的类中调用自己的方法。这样的东西Hello.java公共类Hello {public String sayHello(){...

interop ballerina ballerina-java-interop
2个回答
3
投票

您可以参考interop guide以获得与此有关的详细信息。


0
投票

添加到@pubudu的答案中,我只想显示如何在Ballerina中调用非静态Java方法。

© www.soinside.com 2019 - 2024. All rights reserved.