gpt4 book ai didi

wso2 - 尝试将外部 jar 导入 ballerina 模块时出错

转载 作者:行者123 更新时间:2023-12-02 09:06:23 25 4
gpt4 key购买 nike

我正在尝试将外部 jar 导入到 ballerina 中。在本例中,它来自从 maven-central 下载的 nd4j-native-platform-1.0.0-beta5.jar。我不知道问题出在哪里。

我的 Ballerina.toml 文件的配置如下:

Ballerina.toml

[project]
org-name= "user_name"
version= "0.1.0"

[platform]
target = "java8"

[[platform.libraries]]
path = "/Users/username/Code/Workspace6/ballerina-hackathon/ml-connector/java_dependencies/deeplearning4j-modelimport-1.0.0-beta5.jar"
modules = ["ml_service"]

要加载的名为“ml_service”的模块中的文件(load_model.bal):

load_model.bal

import ballerinax/java;

function loadModel() returns handle = @java:Method {
name: "ClassPathResource",
class: "org.nd4j.linalg.io"
} external;

public function main() {
var load = loadModel();

}

当我尝试构建时遇到的错误如下:

computername:ml-connector username$ ballerina build ml_service
Compiling source
user_name/ml_service:0.1.0

Creating balos
target/balo/ml_service-2019r3-java8-0.1.0.balo
error: user_name:ml_service:load_model.bal:9:1: {ballerinax/java}CLASS_NOT_FOUND message=org.nd4j.linalg.io

最佳答案

我发现问题是什么,我的jar中没有ClassPathResource类。为此,应该修改 load_model.bal 文件中的代码。函数 classPathResource 必须声明为构造函数,而不是我之前声明的方法。它还必须采用字符串类型的参数。我已附上我在下面使用的代码。

load_model.bal

import ballerinax/java;
import ballerina/io as _;

function loadModel(handle path) returns handle = @java:Constructor {
class: "org.nd4j.linalg.io.ClassPathResource"
} external;


public function main() {
var load = loadModel(java:fromString("model_path"));
}

关于wso2 - 尝试将外部 jar 导入 ballerina 模块时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com