我只想创建一个类的对象,但是在调试时出现此错误。有人可以告诉我问题是什么吗?该代码的位置在某些Spring(2.5)Service类中。
还有一个类似的问题:OJB参考描述符1:0关系?我应该将自动检索设置为false吗?
非常感谢〜
我只想创建一个类的对象,但是在调试时出现此错误。有人可以告诉我问题是什么吗?该代码的位置在某些Spring(2.5)Service类中。
还有一个类似的问题:OJB参考描述符1:0关系?我应该将自动检索设置为false吗?
非常感谢〜
Answers:
根本原因是在调试Java调试接口时,将调用类的toString()在弹出框中显示类信息,因此,如果未正确定义toString方法,则可能会发生这种情况。
toString
始终定义为所有对象extend java.lang.Object
。Spring的一种可能性是,如果将范围限定的bean注入单例,则将它们代理。如果toString
在错误的线程上调用了该线程(例如未与请求上下文关联的线程),则代理在调用该线程时会引发异常toString
。
好吧,这可能是因为其他人之前和之后提到的几件事。就我而言,问题是相同的,但原因是其他原因。
在一个类(A)中,我有几个对象,而一个对象是另一个带有其他对象的类(B)。在此过程中,类B的对象(字符串)之一为空,然后我尝试通过父类(A)访问该对象。
因此,控制台将抛出空点异常,但是Eclipse调试器将显示上述错误。
希望您能完成剩下的工作。
对我来说,当toString这样定义时,抛出了相同的异常:
@Override
public String toString() {
return "ListElem [next=" + next + ", data=" + data + "]";
}
ListElem
链表元素在哪里,我这样创建了一个ListElem
:
private ListElem<Integer> cyclicLinkedList = new ListElem<>(3);
ListElem<Integer> cyclicObj = new ListElem<>(4);
...
cyclicLinkedList.setNext(new ListElem<Integer>(2)).setNext(cyclicObj)
.setNext(new ListElem<Integer>(6)).setNext(new ListElem<Integer>(2)).setNext(cyclicObj);
这实际上导致了无法打印的循环链接列表。感谢您的指导。
我在Eclipse中遇到了类似的异常。这是由于 java.lang.StackOverflowError
错误。我toString()
在子类中具有重写的方法,具有JoinColumn
,该方法使用父类的对象返回字符串,导致循环依赖。尝试从中删除该对象toString()
,它将起作用。
这是我的情况
我有一个实体学生,它与另一个实体类(他所学习的类)具有多对一的关系。
我想将数据保存到另一个表,其为具有外键的两个学生和课程。在执行某些情况下,我把一个列表的学生在某些条件下,每个学生都会有一个参考类类。
示例代码:-
Iterator<Student> itr = studentId.iterator();
while (itr.hasNext())
{
Student student = (Student) itr.next();
MarksCardSiNoGen bo = new MarksCardSiNoGen();
bo.setStudentId(student);
Classes classBo = student.getClasses();
bo.setClassId(classBo);
}
在这里您可以看到,我同时将“学生”和“班级”引用都设置为要保存的BO。但是当我检查调试时,student.getClasses()
它显示了这个exception(com.sun.jdi.InvocationException
)。
我发现的问题是,提取后学生使用列表HQL查询,我被冲洗和关闭的会话。当我删除该session.close();
语句时,问题已解决。
当我最终将所有数据保存到表(MarksCardSiNoGen)中时,会话已关闭。
希望这可以帮助。
com.sun.jdi.InvocationException occurred invoking method
当我延迟加载使用辅助数据库配置的实体字段时,我已经收到(带有2个数据库配置的Spring Boot-使用第二个配置的延迟加载不起作用)。临时解决方案是添加FetchType.EAGER
。
元素不存在可能有两个原因:
在任何一种情况下,当您运行Debug并将鼠标悬停在对WeBElement的引用(带有Selenium和Java的引用)上时,都会得到com.sun.jdi.InvocationException吗????
我们使用以下内容,但无法区分由于错误的xpath或不存在的元素(有效的xpath语法)而返回false:
public static boolean isElementDisplayed(WebElement element) {
boolean isDisplayed = false;
try {
isDisplayed = element.isDisplayed();
} catch (NoSuchElementException e) {
;// No Worries
}
return isDisplayed;
}
就我而言,这是由于对象引用变得过时。我使用selenium webdriver自动化了我的应用程序,因此我在文本框中键入内容,然后导航到另一个页面,所以当我回到上一页时,该对象变旧了。所以这导致了异常,我通过再次初始化元素来处理它-PageFactory.initElements(driver,Test.class;
我也面临同样的问题。就我而言,我碰到了一个java.util.UnknownFormatConversionException
。我只有在printStackTrace
打电话后才知道。我通过更改代码来解决它,如下所示。
从:
StringBuilder sb = new StringBuilder();
sb.append("***** Test Details *****\n");
String.format("[Test: %1]", sb.toString());
至:
String.format("[Test: %s]", sb.toString());