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.