我在对象框中添加了多个实体并成功构建了 build_runner。
flutter pun run build_runner build
. 现在,我又添加了两个实体,但出现此错误 -无法解析注释 @Entity()
尝试添加实体
import 'package:formula_application/objectbox.g.dart';
import 'package:json_annotation/json_annotation.dart';
part 'stop_test_model.g.dart';
@JsonSerializable(
explicitToJson: true,
fieldRename: FieldRename.pascal,
)
@Entity()
class StopTest {
StopTest(this.id, this.name);
int id = 0;
String name;
//@Backlink()
//final routes = ToMany<RouteTest>();
factory StopTest.fromJson(Map<String, dynamic> json) =>
_$StopTestFromJson(json);
Map<String, dynamic> toJson() => _$StopTestToJson(this);
}
\\separate route test file
import 'package:formula_application/objectbox.g.dart';
import 'package:json_annotation/json_annotation.dart';
part 'route_test_model.g.dart';
@JsonSerializable(
explicitToJson: true,
fieldRename: FieldRename.pascal,
)
@Entity()
class RouteTest {
RouteTest(this.id, this.name);
int id = 0;
String name;
//final stops = ToMany<StopTest>();
factory RouteTest.fromJson(Map<String, dynamic> json) =>
_$RouteTestFromJson(json);
Map<String, dynamic> toJson() => _$RouteTestToJson(this);
}
在 build_runner build 命令之后,我收到了这个错误
[INFO] 生成构建脚本... [INFO] 生成构建脚本完成,耗时 514 毫秒
[INFO] 正在初始化输入 [INFO] 正在读取缓存的资产图... [INFO] 读取缓存的资产图已完成,耗时 138 毫秒
[INFO] 检查自上次构建以来的更新... [INFO] 检查自上次构建以来的更新完成,耗时 926 毫秒
[信息] 正在运行构建... [严重] json_serializable:json_serializable 在 lib/models/test_model/route_test_model.dart 上:
空值检查运算符 [SEVERE] json_serializable:json_serializable 在 lib/models/test_model/stop_test_model.dart 上:
空值检查运算符 [SEVERE] objectbox_generator:lib/models/test_model/stop_test_model.dart 上的解析器:
包的第 1 行第 225 列:formula_application/models/test_model/stop_test_model.dart:无法解析
class StopTest
. ╷ 1 │ @Entity()
│ ^^^^^^^^^ ╵ [警告] objectbox_generator:lib/models/test_model/route_test_model.dart 上的解析器:尝试获取class RouteTest
(ClassElementImpl) 上的位置信息时抛出意外错误。请在https://github.com/dart-lang/source_gen/issues/new提交问题 包括此警告的内容和堆栈跟踪以及
package:source_gen
,package:analyzer
from的版本pubspec.lock
。InconsistentAnalysisException:请求的结果可能与之前返回的结果不一致
[严重] objectbox_generator:lib/models/test_model/route_test_model.dart 上的解析器:
无法解析 的注释
class RouteTest
。[INFO] 4.2 秒过去,4/6 动作完成。[INFO] 运行构建完成,耗时 4.5 秒[INFO] 缓存最终依赖图... [INFO] 缓存最终依赖图完成,耗时 66 毫秒
[严重] 4.6 秒 pub 完成后失败,退出代码为 1
我尝试使用普通类在没有 @JsonSerializable() 注释的情况下运行相同的程序。仍然得到同样的错误。