首页 > 解决方案 > 在颤振项目中添加实体时出错

问题描述

我在对象框中添加了多个实体并成功构建了 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:analyzerfrom的版本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() 注释的情况下运行相同的程序。仍然得到同样的错误。

标签: objectboxflutter-objectbox

解决方案


推荐阅读