IntelliJ 프로젝트에 Gradle 지원을 추가하는 가장 좋은 방법


168

나는 꽤 많이 둘러 보았고 기존 IntelliJ 프로젝트를 Gradle로 변환하는 가장 좋은 솔루션을 찾지 못했습니다. 팀 환경에서 일하고 있으며 추적하는 몇 가지 빌드 구성이 있으므로 현재 .ipr 파일을 공유합니다. 우리는 Gradle을 선호하는 사람들을 결국 제거 할 것이지만 Gradle 변환이 완료 될 때까지 너무 많이 망칠 수는 없습니다.

또한 Java 소스 파일은 표준 그대로 src / main / java 대신 src 디렉토리의 루트에 있습니다.

내 프로젝트에 Gradle을 추가하여 IntelliJ 프로젝트를 삭제하고 다시 만들지 않고 Git 풀을 수행 할 때 다른 모든 사람들을 망칠 수있는 방법이 있습니까?


2
소스 디렉토리의 질문에 대답하려면 기본 소스 디렉토리를 sourceSets 로 대체해야합니다 . MongoDB Java 드라이버에서이 작업을 수행 한 방법을 확인하십시오. github.com/mongodb/mongo-java-driver/blob/…
Trisha

답변:


208

더하다:

build.gradle 

루트 프로젝트 폴더에 플러그인을 사용하십시오 (예 :

apply plugin: 'idea'
//and standard one
apply plugin: 'java'

그리고 커맨드 라인 에서이 화재로 :

gradle cleanIdea 

그리고 나서:

gradle idea

그 후 모든 것이 작동해야합니다.


7
이 솔루션을 시도 할 때 "모듈 'xx'는 gradle에 의해 지원되지 않습니다."라는 오류가 발생했습니다. 어떻게 해결 되었습니까?
Marquis Blount

고마워 이것이 나를 미치게 만들었고 build.gradle에 추가 한 후 IntelliJ가 프로젝트 종속성을 새로 고치는 방법을 알 수 없었습니다.
Amala

ideaModule이 계속 실패하면서 gradle idea (ideaProject, ideaModule, ideaWorkspace에 따라 다름)가 작동하지 않았습니다. 대신 작업 gradle ideaProject가 정상적으로 작동했으며 프로젝트는 이제 Gradle을 사용하도록 설정되었습니다.
paranza

이 방법에는 문제가 있습니다. "groovy.lang.closure에 종속 항목을 적용 할 수 없습니다"오류가 발생합니다. 대신이 솔루션을 확인하십시오. stackoverflow.com/a/17168175/2517730
Yar

1
Gradle 플러그인은 여전히 ​​파일 기반 아이디어 프로젝트에 의존하고 폴더 기반 프로젝트는 표준적이고 훨씬 편리하기 때문에 이것은 다소 구식입니다.
Xerus

74

.iml파일 을 제거 할 필요가 없습니다 . 이것을 따르십시오 :

  • 프로젝트를 닫다
  • File -> Open... 새로 만든 것을 선택하십시오 build.gradle
  • IntelliJ가 원하는지 묻습니다.
    • Open Existing Project
    • Delete Existing Project and Import
  • 두 번째 옵션을 선택하면 완료

새 프로젝트가 다른 폴더에 있어야하는 문제를 어떻게 해결할 수 있습니까?
barracuda317

이렇게하면 프로젝트 구조 | 라이브러리를 종속성으로 사용하고 프로젝트 구조 | 유물?
NOTiFY

@ NOTiFY 나는 그것을 의심합니다. 처음부터 프로젝트를 체크 아웃하는 것과 같습니다.
Michal Kordas

@Michal Kordas 나는 모든 의존성을 손으로 추가했고, 예상했던 시간 근처에 아무 것도 가져 가지 않았으며 이제 WAR, JAR & EAR 생성을 추가했습니다. JetBrains 에이
NOTiFY

46

또 다른 방법은 간단합니다.

당신의 추가

build.gradle

프로젝트의 루트에 파일. 프로젝트를 닫습니다. * .iml 파일을 수동으로 제거하십시오. 그런 다음 "프로젝트 가져 오기 ..."를 선택하고 프로젝트 디렉토리로 이동 한 후 build.gradle 파일을 선택하고 확인을 클릭하십시오.


21

IntelliJ 2017.2.4에서 방금 프로젝트를 닫았다가 다시 열었고 build.gradle 과 연결할 것인지 묻는 대화 상자가 나타납니다. Gradle 프로젝트의 가져 오기 대화 상자를 여는 납니다.

build.gradle에 파일을 삭제하거나 아이디어 플러그인을 추가 할 필요가 없습니다 .


2
잘 작동하는지 확인할 수 있습니다. 프로젝트 루트에서 gradle init을 실행하면 다음에 프로젝트를 열 때 대화 상자가 나타납니다.
Alex H.

16

나중에 참조 할 수 있듯이 이미 Maven프로젝트가있는 경우 gradle init생성해야 할 프로젝트 디렉토리 build.gradle및 기타 종속성 에서 수행해야하는 작업은 gradle build동일한 디렉토리에서 수행하는 것 입니다.


2
: 관심의 새로운 Gradle을 만들기 구축 : - 노트 gradle init프로젝트의 다양한 다른 유형을 생성 할 수 있으며, 심지어 간단한 변환하는 방법을 알고 pom.xmlGradle을 파일을.
Guy Coder

7

IntelliJ 버전 12를 사용하고 있습니다.

나는 완전히 새로운 프로젝트를 만들어서 비슷한 문제를 해결했고, "버전 제어에서 체크 아웃"두 프로젝트를 나중에 병합하는 것은 상당히 쉬웠습니다.


1
  1. build.gradle프로젝트의 루트 디렉토리에 추가하십시오 .

  2. 그런 다음 File->Invalidate Caches / Restart

다음은 Java 프로젝트를위한 기본 build.gradle입니다.

plugins {
    id 'java'
}

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