IntelliJ에서 클래스를 기본 클래스로 선택할 수 없습니다.


98

IntelliJ에 중첩 된 폴더 계층 구조에 여러 파일을 추가 한 Java 프로젝트가 있습니다. 이러한 파일의 대부분은 테스트이며 주요 방법이 포함되어 있으므로 실행할 수 있어야합니다. 그러나 나는 이것을하는 방법을 알 수 없습니다.

저는 IntelliJ를 처음 접했으며 이전에 파일이 "main () 메서드의 선언을 포함하는 Java 클래스"에 해당하는 기호 와 함께 프로젝트 계층 구조에 표시되었습니다 . 그러나이 시나리오에서는 "소스 루트에있는 Java 클래스"에 해당하는 기호로 표시됩니다.

그렇다면 이러한 파일을 어떻게 컴파일하고 실행합니까?


2
같은 문제가 있지만 "소스 루트"문제가없는 사람을 위해 우연히 가져 왔을 때 실행 가능성 및 "메인 클래스"표시기가 사라졌습니다. 그 이유를 알 com.sun.org.apache.xpath.internal.operations.String수 없습니다 ! (IDEA 2018.1, JDK 8, Maven)
— Janaka Bandara

답변:


64

링크 한 문서는 실제로 "소스 루트 외부에있는 Java 클래스"와 연관된 링크에 답변이 있습니다. 소스 및 테스트 루트를 구성하면 작동합니다.

https://www.jetbrains.com/idea/webhelp/configuring-content-roots.html

이것이 테스트라고 말 했으므로 소스 루트 대신 테스트 소스 루트로 표시된 테스트를 사용해야합니다.


1
모듈 종속성을 올바르게 설정했는지 확인하십시오. 프로젝트 구조에서 모듈을 표시하고 'F4'는 모듈 설정을 여는 기본 키입니다 (리눅스에서 가장 비슷 함). (또는 마우스 오른쪽 버튼을 클릭하고 '모듈 설정 열기'를 선택하십시오). 바라건대 여기가 좀 더 도움이 될 수 있기를 바랍니다 : jetbrains.com/idea/webhelp/…
— trappski

아, 네, 의존성은 결국 내 문제를 해결했습니다. ty.
— CE

136

이러한 클래스의 패키지 트리가 포함 된 폴더를 선택하고 마우스 오른쪽 버튼을 클릭 한 다음 "Mark Directory as-> Source Root"를 선택합니다.


이것은 내가 요청한 것을 수행했지만 이제는 수입 명세서를 해결할 수 없습니다. 다른 오류도 나타났습니다. 아이디어?
— CE

예를 들어 "odeToJava.modules"를 메소드 앞에 추가하도록 요청했습니다. 그리고 odeToJava를 해결할 수 없다고 불평했습니다.
— CE

그래도이 작업을 수행 할 수있는 메뉴를 어떻게 얻습니까? 프로젝트보기 (alt + 1)에서 프로젝트 디렉토리와 파일을보고 OP의 지침에 따라 폴더를 마우스 오른쪽 버튼으로 클릭합니다.
— James T.

이 작업을 수행했지만 주요 JAVA 러너가 아닌 그레이드 파일 만 선택할 수 있습니다.
— Oliver Dixon

0

다음은 IDEA IntelliJ 2019.3의 전체 절차입니다.

  1. 파일> 프로젝트 구조

  2. 프로젝트 설정> 모듈에서

  3. '소스'탭에서 'src'폴더를 마우스 오른쪽 버튼으로 클릭하고 '소스'를 선택합니다.

  4. 변경 승인.

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