programing

com.sun.jdi 입니다.호출메서드를 호출하는 동안 예외가 발생했습니다.

powerit 2023. 3. 29. 21:58
반응형

com.sun.jdi 입니다.호출메서드를 호출하는 동안 예외가 발생했습니다.

클래스 개체를 만들고 싶은데 디버깅할 때 이 오류가 발생했습니다.누가 문제가 뭔지 말해줄래?이 코드의 위치는 일부 스프링(2.5) 서비스 클래스에 있습니다.

유사한 문제가 있습니다.OJB 참조 설명자 1:0 관계는 무엇입니까? 자동 취득을 false로 설정해야 합니까?

감사합니다.

근본 원인은 Java 디버깅인터페이스가 클래스의 toString()을 호출하여 팝업박스에 클래스 정보를 표시하기 때문에 toString 메서드가 올바르게 정의되지 않은 경우 이 문제가 발생할 수 있습니다.

이클립스마우스로 에 " " " 가 되었습니다.com.sun.jdi.InvocationException은 '그것'이 아니었다.toString()내 수업의 방법, 그러나 오히려hashCode()방법.그것이 원인이었다NullPointerException 「」가 했습니다.com.sun.jdi.InvocationException디버깅 중에 표시됩니다.내가 Null 포인터를 처리하자 모든 것이 예상대로 작동했다.

글쎄요, 그 전후에 다른 사람들이 언급했던 몇 가지 때문일 수도 있어요.내 경우 문제는 같았지만 이유는 다른 것이었다.

클래스(A)에서는 여러 오브젝트가 있었는데, 그 오브젝트 중 하나가 다른 오브젝트와 함께 다른 클래스(B)였습니다.프로세스 중에 클래스 B의 오브젝트(String) 중 하나가 늘이 되어 부모 클래스(A)를 경유하여 그 오브젝트에 액세스하려고 했습니다.

따라서 콘솔은 null point 예외를 발생시키지만 이클립스 디버거는 위의 오류를 표시합니다.

남은 건 네가 해줬으면 좋겠어.

저에게는 toString이 다음과 같이 정의되었을 때 동일한 예외가 발생하였습니다.

@Override
public String toString() {
    return "ListElem [next=" + next + ", data=" + data + "]";
}

서 ★★★★★ListElem이며, 저는 "Linked Element"를 .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);

이로 인해 인쇄가 불가능한 순환 링크 리스트가 실질적으로 발생하였습니다.알려주셔서 감사합니다.

클래스 파일에서 toString 및 해시코드 메서드를 만드는 Lombok @Data 주석을 사용하고 있었기 때문에 동일한 문제에 직면해 있었기 때문에 @Data 주석을 삭제하고 특정 @Getter @Setter 주석을 사용하여 문제를 해결했습니다.

@Data는 모든 @ToString, @EqualsAndHashCode, 모든 필드에 @Getter, 모든 비최종 필드에 @Setter 및 @RequiredArgsConstructor가 필요한 경우에만 사용해야 합니다.

나도 한 번 같은 문제가 있었어.제 경우 toString() 메서드가 잘못 작성되었습니다.정확히 말하면, 스태틱 최종 변수는 개발자가 코드 클리닝 태스크를 할당받았을 때 toString 메서드에 포함되었고 가능한 한 도메인 오브젝트에 toString(), hashCode() 코드 및 equals() 메서드를 추가했습니다.그러나 클래스에서는 자세히 보기 때문에 com을 발생시킨 최종 스태틱 변수를 포함했습니다.sun.jdi.호출예외" 이 예외는 디버깅 시 예외가 있는 오브젝트 위에 마우스를 올려놓았을 때만 표시됩니다.

나도 이클립스에서 비슷한 예외가 있었어.은 ★★★★★★★★★★★★★★에 의한 것입니다.java.lang.StackOverflowError 했습니다. 오버라이드 했습니다.toString() 클래스의 , ' 클래스'를 가진, '자녀 클래스JoinColumn dependencyparentclass가 보세요.toString()효과가 있을 겁니다.

이클립스 디버거에서 변수 창의 오른쪽 상단 모서리에 있는 'Show Logical Structure' 버튼/아이콘을 비활성화하면 해결되었습니다.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★도메인 인스턴스가 휴지 상태 세션에서 분리되는 것을 발견했습니다.하였습니다.isAttached()(을) 하여 d.attach()

이건 내 사건이야

나는 다른 실체 클래스(그가 공부한 클래스)와 다대일 관계를 맺고 있는 실체를 가지고 있었다.

나는 Student와 Class의 외래 있는 다른 테이블에 데이터를 저장하고 싶었다.어떤 경우, 저는 어떤 조건 하에서 학생 목록을 가져오고 있었고, 각 학생은 수업의 참고 자료를 갖게 될 것입니다.

샘플 코드:-

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와 Classes 참조를 모두 설정합니다.하지만 디버깅을 하면서student.getClasses()이 .com.sun.jdi.InvocationException를 참조해 주세요.

발견된 문제는 HQL 쿼리를 사용하여 Student List를 가져온 후 세션플러시하고 닫는 이었습니다.내가 그걸 없앴을 때session.close();문제가 해결되었다고 진술합니다.

최종적으로 모든 데이터를 테이블에 저장했을 때 세션이 종료되었습니다(MarksCardSiNoGen).

이게 도움이 됐으면 좋겠다.

받았다다 have have have have를 .com.sun.jdi.InvocationException occurred invoking methodsecondary database config를 사용한 엔티티 필드를 느리게 로드한 경우(Spring Boot with 2 database config - second config의 느린 로드는 기능하지 않습니다.임시 해결책은 다음과 같이 추가하는 것이었다.FetchType.EAGER.

요소가 존재하지 않는 이유는 다음 두 가지가 있을 수 있습니다.

  1. 잘못된 xpath(//*[@id'forgotQuote])
  2. xpath는 맞지만 요소(//*[contains(text())')는 없습니다.이 텍스트는 페이지에 없습니다.)

전화 좀 받아줄래?sun.jdi.호출디버깅 실행 중 WebBlement(Selenium 및 Java의 경우)에 대한 참조 위에 마우스를 올리면 예외입니다.

다음을 사용하지만 잘못된 xpath 또는 존재하지 않는 요소(유효한 xpath 구문)로 인해 false가 반환되는지 구분할 수 없습니다.

public static boolean isElementDisplayed(WebElement element) {
    boolean isDisplayed = false;

    try {
        isDisplayed = element.isDisplayed();
    } catch (NoSuchElementException e) {
        ;// No Worries
    }
    return isDisplayed;
}

삭제 중hashCode()그리고.equals()내 문제를 해결했다.제 경우 Apache의 commons-lang 해시 코드를 사용하여 비정적 클래스를 수동으로 만들었기 때문에 컴파일러는 예외를 두지 않았습니다.그러나 실행 시 호출 예외가 발생했습니다.

내 경우 오브젝트 참조가 오래되었기 때문입니다.selenium webdriver를 사용하여 어플리케이션을 자동화하고 있기 때문에 텍스트 상자에 뭔가를 입력하면 다른 페이지로 이동하기 때문에 이전 페이지로 돌아가면 해당 오브젝트가 오래되어 버립니다.이 때문에 예외가 발생했기 때문에 PageFactory.initElements(드라이버, Test.class) 요소를 다시 초기화하여 처리했습니다.

나도 같은 문제에 직면했다.내 경우엔, 난...java.util.UnknownFormatConversionException제가 이걸 알게 된 건...printStackTracecall. 나는 아래와 같이 내 코드를 변경하여 해결했다.

송신원:

StringBuilder sb = new StringBuilder();
sb.append("***** Test Details *****\n");
String.format("[Test: %1]", sb.toString());

대상:

String.format("[Test: %s]", sb.toString());

나도 한번 같은 문제에 직면했었다.내 경우, 오버라이드(override)로 인해equals방법.하나의 가치관이 다가오고 있었다.null.

언급URL : https://stackoverflow.com/questions/4123628/com-sun-jdi-invocationexception-occurred-invoking-method

반응형