티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

'Must Override a Superclass Method' Errors after importing a project into Eclipse

Eclipse로 프로젝트를 가져온 후 'Must Override a Superclass Method'' 오류

 문제 내용 

Anytime I have to re-import my projects into Eclipse (if I reinstalled Eclipse, or changed the location of the projects), almost all of my overridden methods are not formatted correctly, causing the error:

Eclipse로 프로젝트를 다시 가져와야 할 때마다(Eclipse를 다시 설치하거나 프로젝트 위치를 변경한 경우) 재정의된 메서드의 형식이 거의 모두 잘못되어 다음 오류가 발생합니다.

 

The method must override a superclass method

메서드가 superclass 메서드를 재정의해야 합니다.

 

It may be noteworthy to mention this is with Android projects for whatever reason, the method argument values are not always populated, so I have to manually populate them myself. For instance:

어떤 이유로든 Android 프로젝트의 경우에는 method 인수 값이 항상 채워지지 않기 때문에 직접 수동으로 채워야 합니다. 예를 들어:

 

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

will be initially populated like this:

처음에는 다음과 같이 채워집니다.

 

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

The odd thing is, if I remove my code, and have Eclipse automatically recreate the method, it uses the same argument names I already had, so I don't really know where the problem is, other then it auto-formatting the method for me.

이상한 점은 코드를 제거하고 Eclipse가 자동으로 메소드를 재생성하도록 하면 이미 가지고 있던 것과 동일한 인수 이름을 사용하기 때문에 문제가 어디에 있는지 잘 모르겠습니다. 그렇지 않으면 메소드가 자동으로 포맷됩니다.

 

This becomes quite a pain having to manually recreate ALL my overridden methods by hand. If anyone can explain why this happens or how to fix it. I would be very happy.

재정의된 모든 방법을 수동으로 다시 만들어야 하는 것은 상당히 번거로운 일이 됩니다. 왜 이런 일이 생기는지, 어떻게 고쳐야 하는지 설명해 줄 사람이 있다면. 나는 매우 기쁠 것이다.

 

Maybe it is due to the way I am formatting the methods, which are inside an argument of another method?

아마도 그것은 다른 방법의 주장 안에 있는 방법들을 포맷하는 내 방식 때문일 것이다.

 

 

 

 높은 점수를 받은 Solution 

Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 can be annotated with @Override, but in Java 1.5 can only be applied to methods overriding a superclass method).

이클립스는 자바 1.5로 기본 설정되어 있으며 인터페이스 메서드를 구현하는 클래스가 있습니다(자바 1.6에서는 @Override로 주석을 달 수 있지만, 자바 1.5에서는 슈퍼클래스 메서드를 재정의하는 메서드에만 적용할 수 있습니다).

 

Go to your project/IDE preferences and set the Java compiler level to 1.6 and also make sure you select JRE 1.6 to execute your program from Eclipse.

프로젝트/IDE 기본 설정으로 이동하여 Java 컴파일러 수준을 1.6으로 설정하고 JRE 1.6을 선택하여 Eclipse에서 프로그램을 실행하십시오.

 

 

 

 가장 최근 달린 Solution 

In my case this problem happened when I imported a Maven project into Eclipse. To solve this, I added the following in pom.xml:

나의 경우 이클립스에 메이븐 프로젝트를 가져올 때 이 문제가 발생했다. 이를 해결하기 위해 pom.xml에 다음을 추가했습니다.

 

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Then in the context menu of the project, go to "Maven -> Update Project ...", and press OK.

그런 다음 프로젝트의 컨텍스트 메뉴에서 "Maven -> Update Project..."로 이동한 후 확인을 누릅니다.

 

That's it. Hope this helps.

바로 그겁니다. 이게 도움이 되길 바라.

 

 

 

출처 : https://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project-into-eclips

반응형
댓글
공지사항
최근에 올라온 글