问题描述
我正在运行 Java 支持 learning page 的代码,并在我尝试构建它时遇到异常。以下是我所做的步骤:
- 生成绑定:
ballerina bindgen -o src/test java.io.FileInputStream java.io.InputStream --public
- 复制示例代码
import ballerina/java;
type FileInputStreamTypedesc typedesc<FileInputStream>;
function test(){
InputStream inputStream = check newFileInputStream3("sample.txt");
FileInputStream fileInputStream = <FileInputStream>check java:cast(inputStream,FileInputStreamTypedesc);
}
- 构建
ballerina build test
Compiling source
acme/test:0.0.1
error: acme/test:0.0.1::main.bal:7:85: incompatible types: expected 'typedesc<ballerina/java:JObject>',found 'typedesc<typedesc<acme/test:0.0.1:FileInputStream>>'
使用过的版本:
- jBallerina 1.2.13
- 语言规范 2020R1
- 更新工具 0.8.10
提前感谢您的帮助!
解决方法
您提到的 learn 页面适用于 Ballerina Swan Lake 版本。但是,无论如何,对于 1.2.x version 学习页面,似乎也有相同的内容并且是不正确的。
目前,您可以将 Ballerina 更新到 Swan Lake 版本(无论如何都是最新的); here 提到了这样做的方法。之后,您就可以成功执行上述代码了。
干杯, 安佳娜。