"컴파일을 시작할 수 없습니다 : 모듈에 대한 출력 경로가 지정되지 않았습니다…"


108

매우 간단한 Java + Gradle 프로젝트가 있습니다. 잘 구축됩니다. "gradle run"을 사용하여 쉘에서 잘 실행됩니다. 그러나 IntelliJ 내부에서 실행하려고하면 다음과 같은 결과가 나타납니다.

Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project.

내 "컴파일러 출력"이 "프로젝트 컴파일 출력 경로 상속"으로 설정되어 있습니다. 사용자 지정 출력 경로를 원하지 않습니다. 그것이 무엇이든간에 일반적인 gradle 빌드 및 실행을 수행하십시오.


1
IntelliJ에서 코드를 실행할 때 Gradle이 아닌 IntelliJ에 의해 컴파일되고 실행되며 다른 빌드 출력 디렉토리가 사용됩니다. (Android는 다른 이야기입니다.) 그러나 Gradle 빌드를 올바르게 가져 오면 IntelliJ 출력 디렉터리가 이미 구성되어 있어야합니다.
Peter Niederwieser

답변:


102

당신은 당신 Module settings > Project의 "프로젝트 컴파일러 출력"을 지정하고 당신의 모듈이 프로젝트로부터 상속 받도록 하기 만하면 됩니다. (그것을 위해Modules > Paths > Inherit project .

이것은 나를 위해 트릭을했습니다.


20
글쎄, Inherit Project옵션을 선택하지 않으면 효과가
Krish Munot

6
왜 스스로 알아낼 수 없는지. 모두가 IntelliJ가 Eclipse보다 낫다고 말하지만 내 경험으로는 스스로 생각할 수 없습니다.
Andrew S

참고로 IntelliJ에서 파일> 새로 만들기> 모듈 ...을 수행하고 Java 모듈을 생성하면 출력 경로가 기본적으로 설정되어야한다는 것을 발견했습니다.
J Woodchuck

이것이 작동하지 않는 것 같으면 IntelliJ를 다시 시작하는 것을 잊지 마십시오. 나를 위해 고쳤습니다.
Cobie Fisher

97

" 프로젝트 컴파일러 출력 "필드에 경로 를 정의해야 합니다.

File> Project Structure...> Project>Project compiler output

이 경로는 모든 프로젝트 컴파일 결과 를 저장하는 데 사용됩니다 .


10

gradle에서 아이디어 플러그인을 구성하는 동안 다음과 같이 출력 디렉토리를 정의해야합니다.

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}

좋아 보인다. 이 구성을 어떤 파일에 넣습니까?
clay

프로젝트의 build.gradle 파일에 넣어야합니다.
lemiorhan

10

나는이 오류를 다시 검색해야 할 때 해결책을 찾을 수 있도록 대답하고 있습니다.

프로젝트 컴파일 출력 경로를 path_of_the_project_folder/out. 그것이 오늘날 효과가있는 것입니다. intellj 문서는 우리가 어떤 폴더 든 선택할 수있는 것처럼 보이지만 그렇지 않습니다.


7

위의 방법 중 어느 것도 효과가 없으면 이것을 시도해보십시오.

이동 파일> 프로젝트 구조> 프로젝트 다음에 프로젝트 컴파일러 출력 세 점 클릭하고 프로젝트 이름 (파일 이름)의 경로를 제공하고 다음을 클릭 적용 하고보다 좋아 .

사진과 같이 게시해야합니다.


8
답변에 그림이 없습니다.
James Whiteley

2
@priyanshu : 진심으로, 게시물에 사진이 없습니다.
Pawan

4

.iml 파일을 엽니 다. 키워드 'NewModuleRootManager'를 찾으십시오. 'inherit-compiler-output'속성이 true로 설정되었는지 확인하십시오. true로 설정되지 않은 경우.

이렇게 :

component name="NewModuleRootManager" inherit-compiler-output="true">
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" />


1

금후

수행 할 두 가지 :

프로젝트 설정> 프로젝트 컴파일러 출력> "프로젝트 경로 (실제 프로젝트 경로)"+ "\ out"로 설정합니다.

프로젝트 설정> 모듈> 경로> "프로젝트 컴파일 경로 상속"선택 "

버튼 실행이 활성화되지 않은 경우

IDEA를 다시로드해야합니다.



0

드롭 다운을 변경하여 프로젝트 파일을 시작하십시오.

여기에 이미지 설명 입력


0

템플릿을 사용하지 않고 IntelliJ에서 프로젝트를 만들 때도이 오류가 발생합니다.

2 개의 SDK가 설치되어 있습니다. Amazon Corretto 및 Java 버전 11.0.4이므로이 오류가 발생하면 "SDK 변경"을 수행합니다. 일반적으로 Corretto에서 정상적으로 작동합니다.

그렇게하려면 파일 (IntelliJ에서) / 프로젝트 구조 / 프로젝트 / 프로젝트 SDK를 클릭해야합니다 : 표시된대로 드롭 다운 목록에서 corretto를 선택하거나 컴퓨터에서 옵션을 확인합니다. 여기에

이것이 당신에게도 효과가 있기를 바랍니다.

최고, 콘스탄틴


0

일반적으로 기본적으로 / out 폴더 인 컴파일 된 클래스 파일을 저장하기 위해 미리 정의 된 폴더가 누락되어 발생하는 버그입니다. Intellij> 프로젝트 가져 오기> 기존 소스에서 닫기를 시도 할 수 있습니다. 이것은이 문제를 해결할 것입니다.

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