【问题标题】:java.lang.instrument ASSERTION FAILED after adding dependency for spring boot actuatorsjava.lang.instrument 断言在为弹簧启动执行器添加依赖项后失败
【发布时间】:2018-10-05 19:10:44
【问题描述】:

我在 intellij-idea 中有一个 java 项目。我正在使用 gradle 来构建它。最近我添加了对 spring boot 执行器的依赖,从那以后我在启动时遇到了这个错误:

*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844

在那之后我的应用程序仍在运行,但我想摆脱这个错误。

我试图在谷歌上找到答案,但我找不到任何答案。

我将不胜感激。 谢谢。

【问题讨论】:

标签: java spring-boot-actuator


【解决方案1】:

可能与您的问题没有直接关系,因为我的问题与Spring Boot Actuator 无关,但也许它可能对其他人有帮助。

我在测试 REST 控制器时出现问题。我不提供 DTO,而是直接返回我的实体。我在ParentChild 之间也有一个双向One-To-Many 关系。 GETapplication/json 生成为 MediaType

@Entity
public class Parent {
    ...

    @OneToMany(mappedBy = "parent")
    private Set<Child> children;

    ...
}

@Entity
public class Child {
    ...

    @ManyToOne
    @JoinColumn(name = "PARENT_ID", referencedColumnName = "ID")
    private Parent parent;

    ...
}

如果我像这样使用我的实体并且正在查询例如对于 id 的父级,JSON 实现触发了ParentChild 之间的递归,但最终返回了一个值给我的测试。 为了解决这个问题,我刚刚在父字段中添加了一个@JsonIgnore。在这种情况下,这足以满足我的要求。

@Entity
public class Child {
    ...

    @ManyToOne
    @JoinColumn(name = "PARENT_ID", referencedColumnName = "ID")
    @JsonIgnore
    private Parent parent;

    ...
}

【讨论】:

  • 这个答案很棒,感谢详细的原因解释和解决方案建议,它就像魅力一样
  • 这是一个救命稻草。我的 Spring jpa 实体的循环依赖也有同样的问题。在将@jsonIgnore 添加到我的@ManyToOne 字段后一切正常..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
  • 2018-01-08
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多