편집기에 기본 유형이 없습니다.


92

Scala 웹 사이트의 샘플 Scala 코드를 살펴 보았지만 실행하려고 할 때 성가신 오류가 발생했습니다.

코드는 http://www.scala-lang.org/node/45 입니다. Eclipse에서 실행할 때 'Editor에는 기본 유형이 포함되어 있지 않습니다'라는 메시지가 표시되어 실행되지 않습니다.

내가해야 할 일이 있습니까? 즉, 해당 파일을 여러 파일로 나누거나 어떻게합니까?

답변:


37

Eclipse와 Scala에서이 문제가 많이 발생합니다. 작업 공간을 정리하고 프로젝트를 다시 빌드하면 도움이됩니다.

때때로 Eclipse는 재 컴파일해야하는 파일을 올바르게 인식하지 못합니다.

편집 : 코드는 Eclipse에서 잘 실행됩니다.


4
같은 경험을했습니다. 게다가 프로젝트를 닫고 여는 것이 때때로 필요한 것 같았습니다.
Fabian Steeg

@nuriaion과 @Fabian에게 감사합니다. 예, 프로젝트를 다시 열면 작동합니다. 팁에 다시 한번 감사드립니다.
Helen Neely

3
@Helen Eclipse => Project => Clean에서 프로젝트를 정리할 수 있으며, 재 빌드는 자동으로 실행됩니다 ... 따라서 프로젝트를 닫고 다시 열 필요가 없습니다.
nuriaion

스칼라 프로젝트를 열고 닫으면 빌드 중에 오류가 발생했습니다. 빌더 'ch.epfl.lamp.sdt.core.scalabuilder'인스턴스화 오류. 플러그인 "ch.epfl.lamp.sdt.core"가 "scala.tools.eclipse.Builder"클래스를 인스턴스화 할 수 없습니다. 클래스 scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder 플러그인 "ch.epfl.lamp.sdt.core"가 "scala.tools.eclipse.Builder"클래스를 인스턴스화 할 수 없습니다. 클래스 scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder을 초기화 할 수 없습니다
Ustaman 산갓에게

87

Eclipse에서 프로젝트 속성-> 자바 빌드 경로-> 소스에 소스 폴더를 추가해야합니다. 그렇지 않으면 main () 함수가 프로젝트에 포함되지 않을 수 있습니다.


폴더 탐색기보기에서 파일을 "src"로 끌어서 놓아서이 작업을 수행 할 수도 있습니다.
Max von Hippel

이것은 내 문제를 해결했지만 프로젝트를 닫고 연 후에.
sayed jan

26

.java 파일 eclipse .src 폴더에 있는지 확인해야합니다 . 나는 그것을 알아낼 때까지 똑같은 문제가 있었다.


26

더 간단한 방법은 프로젝트를 닫고 다시 여는 것입니다.


21

작업중인 폴더가 빌드 된 경로에 추가되었는지 확인하십시오.

right-click폴더-> build Path->Use as source Folder

이제 main거기에서 찾을 수 있습니다.


6

나는 같은 문제가 있었다. 나는 온갖 것을 시도했다. 그리고 나는 그것을 알게되었습니다

  1. 내 .java 파일이 연결되지 않았고
  2. 'src'폴더에 위치하지 않았습니다.

내가 한 일 :

프로젝트 속성 >> Java 빌드 경로 >> 소스

  • '제거'옵션을 사용하여 비어 있던 원본 'src'폴더를 삭제했습니다.
  • '폴더 추가'옵션을 사용하여 내 소스 .java 파일이 포함 된 소스를 추가했습니다.

이것은 오류를 해결했습니다.


5

Eclipse의 개요 사이드 바에서 메인 기능을 실행 해 볼 수 있습니다.

해결책


이렇게하면 오류 메시지가 나타 <project root> [in Tut_RMI] does not exit납니다.. (프로젝트 이름은입니다. Tut_RMI)이 프로젝트 이름이 유효하지 않습니까?
Casper

5
***

닫고 다시 엽니 다.

*** 이클립스에서 프로젝트. 때때로 연결 문제가 있습니다. 이것은 내 문제를 해결했습니다.


3

빠른 솔루션 :

먼저 패키지를 제외합니다. 소스 패키지 >> 빌드 경로 >> 제외를 마우스 오른쪽 버튼으로 클릭합니다.

그런 다음 다시 포함 : 소스 패키지를 마우스 오른쪽 버튼으로 클릭 >> 빌드 경로 >> 포함


3

해야 할 일은 Java 프로젝트를 생성하는 것입니다. 그러나이 파일을 해당 프로젝트의 패키지 파일에 넣어야합니다. 그렇지 않으면 동일한 오류가 발생합니다.

여기에 이미지 설명 입력


2

해당 코드는 유효합니다. scalac을 사용하여 직접 컴파일 해 보셨습니까? 또한 개체 이름처럼 파일을 "주소록"으로 모두 소문자로 지정 했습니까?

또한 어떤 이유로 이클립스가 메인 클래스를 "addressbook"대신 ".addressbook"으로 설정하는 것을 발견했습니다.


감사합니다 Daniel, 예, 파일 이름은 모두 소문자 '주소록'입니다. 프로젝트를 다시 열어 도움이되는지 확인합니다.
Helen Neely

2

파일을 작성해야합니다.

오른쪽에서 선택하면 파일 이름을 찾을 수 있습니다.

그 아래에 src 폴더가 있으며 마우스 오른쪽 버튼을 클릭하여 선택-> 클래스 옵션

그들의 파일이 생성되어야합니다


2

.java 파일이 str 패키지 또는 다른 패키지에 있는지 확인하십시오. main 함수가있는 Java 파일이 모든 패키지 외부에있는 경우이 오류가 발생합니다.


2

비슷한 문제에 직면하여 개요보기에서 기본 메서드를 마우스 오른쪽 단추로 클릭하고 Java 응용 프로그램으로 실행하여이 문제를 해결했습니다.


1

나도이 문제가 있었다. 해결책은 Eclipse가 프로젝트를 Java 프로젝트로 만들 었는지 확인하는 것입니다. 새 Java 프로젝트를 만들고 src 폴더에 클래스를 복사하고 최종 종속성을 가져 오면됩니다. 이렇게하면 문제가 해결됩니다.


귀하의 의견에 대해 KullDox에게 감사드립니다. 오랫동안 문제를 해결했지만 다른 사람이 여기에서 해결책이 도움이되기를 바랍니다.
Helen Neely

1

정답은 : Scala 라이브러리가 빌드 경로의 JRE 라이브러리보다 먼저 필요합니다.

이동 자바 Buildpath> 주문 및 내보내기 상단에 스칼라 라이브러리를 이동


1

Eclipse Helios에서 파일 시스템에서 가져온 Java 프로젝트에서이 문제가 발생했습니다. 여기에 힌트가 있습니다. "bin"디렉토리가 나타나지 않았기 때문에 src 코드가 전혀 컴파일되지 않은 것 같습니다.

마법사를 사용하여 처음부터 Java 프로젝트를 만든 다음 .project작동하지 않는 프로젝트와 작동중인 프로젝트 의 파일 을 비교해야 했습니다.

"Editor does not contain a main type"을 제공하는 프로젝트는 .project 파일에서 "buildSpec"으로 다음을 포함합니다.

<buildSpec>
</buildSpec>

하지만 작업중인 프로젝트에는 "buildSpec"이 있습니다.

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

나는 이것을 복사했고 가져온 프로젝트가 작동했습니다.

내 대답이 Java에 대한 것이라는 것을 알고 있지만 Scala 프로젝트의 문제 일 수도 있습니다.


1

생성 한 파일이 src (source) 폴더 외부에있을 수 있습니다. 소스 폴더 외부의 .java 파일에서 (src 폴더에있는 파일에서) 클래스 객체를 호출하려고하면 동일한 오류가 발생합니다. .java 파일을 소스 폴더에 복사 한 다음 빌드하십시오. 오류가 사라집니다.


1

나는 같은 문제가 있었다. 다른 폴더에 src 패키지의 메인 클래스가 있습니다. 나는 그것을 이동하고 폴더를 수정하고 해결했습니다.


1

명령 줄에서 "eclipse -clean -refresh"를 실행합니다. 이것은 다른 모든 솔루션이 실패했을 때 문제를 해결했습니다.


1

이것은 Java 빌드 경로의 문제 일 수 있습니다. 아래 단계를 시도하십시오.

  1. 프로젝트 속성으로 이동
  2. 자바 빌드 경로로 이동
  3. 소스 탭으로 이동하여 프로젝트의 src 폴더를 추가하십시오.

이렇게하면 문제가 해결됩니다.


1

maven 프로젝트 인 경우 src / main / java 아래에 java 파일이 생성되었는지 확인하십시오.

얻을 수 없다면 JRE 경로를 변경하고 위의 폴더 구조에 Java 파일을 만드십시오.


0

나를 위해 Eclipse 3.6 에서이 문제는 기본 메서드가 공개되지 않을 때 발생합니다. 다음과 같은 주요 방법을 사용하여 문제를 일으켰습니다.

static void main(String[] args) 

듀 버거는이를 스스로 감지 할 수 없습니다. 나는 이클립스가 이것을 간과하고 꽤 놀랐습니다.


0

최악의 경우 처음부터 모든 가져 오기를 사용하여 프로젝트를 다시 만듭니다. 제 경우에는 다른 옵션이 작동하지 않았습니다. 이러한 유형의 오류는 프로젝트 설정에 오류가 있음을 나타냅니다. 나는 한때 그것을 해결할 수 있었지만 추가 개발이 끝나면 오류가 다시 발생했습니다. 처음부터 모든 것을 다시 만드는 것은 일부 링크를 이해하고 최적화하는 데 도움이되었으며 이제 제대로 작동한다고 확신합니다.


0

아래 단계를 따르십시오.

  1. 모든 .java 파일을 다른 위치에 백업
  2. 전체 자바 프로젝트 삭제
  3. 루트를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기를 클릭하여 새 Java 프로젝트를 만듭니다.
  4. 모든 파일을 새 위치로 복원하십시오!

0

파일 >> 가져 오기 >> 기존 프로젝트를 작업 공간으로 >> 보관 파일 선택 >> 파일 찾아보기 및 찾기 >> 완료. 이미 다른 방법으로 가져온 경우 삭제하고 그렇게 시도하십시오. 나는 그것을 시도 할 때까지 같은 문제를 겪고 있었다.


0

확인해야 할 한 가지 더 : 소스 파일에 하위 디렉터리에 해당하는 올바른 패키지 선언이 포함되어 있는지 확인하십시오. OP에서 언급 한 오류는 하위 디렉터리의 파일에 선언 된 "주 유형"을 실행하려고 할 때 볼 수 있지만 패키지 명세서가 누락되었습니다.


0

소스 폴더를 변경 한 후에도이 문제가 발생합니다. 효과가 있었던 솔루션은 파일을 편집하고 저장하는 것입니다.


0

'프로젝트 업데이트'를 시도하십시오. 이 작업을 수행하면 Java 응용 프로그램으로 실행 옵션이 나타납니다.


0

내 특정 'Hello World'의 경우이 문제의 원인은 내 main()메서드가 Scala 내부에 있다는 사실 이었습니다 class.

나는 넣어 main()스칼라 메소드를 사용 object하여 오류가 사라졌다.

objectJava 용어로 Scala 는 내부에 정적 멤버와 메소드 만있는 엔티티 이기 때문 입니다.

이것이 public static void main()Scala 의 Java가 object.

(Scala class는 내부에 정전기를 포함하지 않을 수 있습니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.