개발/개발관련

[개발관련] Gradle 프로젝트 만들기(gradle init, gradle wrapper) Maven과 Gradle 프로젝트 비교

mabb 2023. 5. 20. 17:20
반응형

보통 IDE에서 프로젝트 구조를 자동으로 만들어주는데, 수동으로 직접 만들어 보면 이해하는데 도움이 될 것이라고 생각한다.

<웹애플리케이션을 만들기 위한 프로젝트 생성>---------------------------

1. 프로젝트 루트폴더 만들기

2. java 소스폴더 만들기
 ㄴ. 프로젝트 루트폴더 하위에 src/main/java 폴더 구조를 만든다.

3. 자원 및 XML 저장 폴더 만들기
 ㄴ. 프로젝트 루트폴더 하위에 src/main/resources 폴더 구조를 만든다.

4. 웹 애플리케이션 기준 폴더 만들기
 ㄴ. 프로젝트 루트폴더 하위에 src/main/webapp 폴더 구조를 만든다.

5. 배포설명 파일인 web.xml을 저장하는 웹 규격 폴더 만들기
 ㄴ. 프로젝트 루트폴더 하위에 src/main/webapp/WEB-INF 폴더 구조를 만든다.
*웹 애플리케이션은 반드시 하나의 web.xml을 갖는다.

6.build.gradle 파일 생성하기
 ㄴ. 프로젝트 루트폴더 하위에 build.gradle 파일 생성하기

apply plugin: 'java'

sourceCompatibility = 1.8
targetCompatibility = 1.8
compileJava.options.encoding = "UTF-8"

repositories{
	mavenCentral()
	}

dependencied{
	compile 'org.springframework:spring=context:5.0.2.RELEASE'
	}

task wrapper(type:Wrapper){
	gradleVersion = '8.1.1'
	}


7.gradle wrapper 명령어 실행
 ㄴ. 프로젝트 루트폴더에서 gradle wrapper 명령어를 실행한다. 소스 공유 시 그레이들 설치없이 그레이들 명령어를 실행할 수 있게 해주는 기능이다.

8.에러 발생

프로젝트 루트폴더에서 gradle wrapper 를 수행하자 에러가 발생하였다.

Gradle.build를 인식하지 못함. 'gradle init'으로 gradle.build를 생성할 수 있는 것 같다.

프로젝트 루트폴더에서 gradle init 명령어 입력. 1~4 중 선택을 하라고 나온다. application으로 진행해본다.
언어를 선택하도록 나온다. java를 선택한다.
멀티플 서브프로젝트를 할건지 물어서 디폴트인 no, 빌드스크립트는 Groovy로 선택. Gradle에서 그루비 문법을 사용한다는 것이 이 부분인 것으로 보인다.
테스트 프레임워크를 선택하라고 나온다. JUnit 4로 선택한다.
프로젝트 이름을 묻는다. 디폴트로 진행한다.
패키지, 자바 타겟버전(디폴트:8), new APIs and behavior (디폴트:no)

 

그레이들 관련 파일들이 생겼다.

 

 

 

프로젝트 종류 메이븐(Maven) 그레이들(Gradle)
     
     
     
     
반응형