IntelliJ ํ๋ก์ ํธ ์์ฑํ๊ธฐ
- create new project
- gradle ์ ํ
- groupId, artifactId ๋ฑ๋ก
- groudId : ์์ ์ด ๋ง๋ค๊ณ ์ถ์ ๋๋ฉ์ธ์ ๋ค์ง์ด ๋์ ๊ฒ ex) nitro.webpage.com -> com.webpage.nitro
- artifactId : ํ๋ก์ ํธ์ ์ด๋ฆ์ด ๋๋ค.
Gradle ํ๋ก์ ํธ๋ฅผ Spring ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝํ๊ธฐ
์ด๋ณด์๋ ๊ฐ๊ฐ์ ์์กด์ฑ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ๋จผ์ ์์์ผ ํ๋ฏ๋ก ์ฌ๊ธฐ์์๋ start.spring.io๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ผ์ผํ dependency๋ฅผ ์ถ๊ฐํ๋ค.
ํ์ฌ ์ด ์ฑ
์ 2019๋
์ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ๋ฒ์ ์ด์๊ฐ ์๋ค. ๊ทธ๋์ ์ผ๋จ ๋ธ๋ก๊ทธ๋ฅผ ๋ฐ๋ผ ๋ฒ์ ์ ๋ฐ๊ฟ์ฃผ์ด์ผ ํ๋ค.
https://jojoldu.tistory.com/539?category=717427
0. ๊ธฐ์กด์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๊ฒฝ์ฐ
gradlew wrapper --gradle-version 6.7.1๋ก ์ค์
build successful์ด ๋์๋ค๋ฉด gradle wrapper์ ํ์ผ ๋ฒ์ ์ด ์ ๋ฐ์ดํธ๋์๋์ง ํ์ธํ๋ค.
1. build.gradle ์ค์
gradle์ ๋ฒ์ ์ ์ ๋ฐ์ดํธ ํ์ผ๋ build.gradle ์ค์ ๋ ๋ง์ถฐ์ค์ผ ํ๋ค.
plugins { // (1)
id 'org.springframework.boot' version '2.4.1' // RELEASE ์ญ์
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
group 'com.nitronium'
version '1.0.4-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = 1.8
repositories {
mavenCentral()
jcenter()
}
// for Junit 5
test { // (2)
useJUnitPlatform()
}
dependencies {
//(3)
implementation('org.springframework.boot:spring-boot-starter-web')
// implementation('org.springframework.boot:spring-boot-starter-mustache')
// lombok
implementation('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
testImplementation('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
// implementation("org.mariadb.jdbc:mariadb-java-client")
implementation('com.h2database:h2')
// implementation('org.springframework.boot:spring-boot-starter-oauth2-client') // ๊ถํ ๊ด๋ จ
// implementation('org.springframework.session:spring-session-jdbc') // ๊ถํ ๊ด๋ จ
testImplementation('org.springframework.boot:spring-boot-starter-test')
// testImplementation("org.springframework.security:spring-security-test") // ๊ถํ ๊ด๋ จ
ํ๋ก์ ํธ์ ํ๋ฌ๊ทธ์ธ ์์กด์ฑ ์ ์ฉ
id 'io.spring.dependency-management' // ์คํ๋ง๋ถํธ์ ์์กด์ฑ์ ๊ด๋ฆฌ
์๋ 3๊ฐ์ ํ๋ฌ๊ทธ์ธ์ ์คํ๋ง ๋ถํธ์ ์์กด์ฑ์ ๊ด๋ฆฌํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ด๋ผ ๊ผญ ์ถ๊ฐํด์ผ ํ๋ค.
plugins { // (1)
id 'org.springframework.boot' version '2.4.1' // RELEASE ์ญ์
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
repository
๊ฐ์ข ์์กด์ฑ(๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ค์ ์ด๋ค ์๊ฒฉ ์ ์ฅ์์์ ๋ฐ์์ง๋ฅผ ์ ํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก๋ mavenCentral์ ๋ง์ด ์ฌ์ฉํ์ง๋ง, ์ต๊ทผ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ก๋ ๋์ด๋ ๋๋ฌธ์ jcenter๋ ๋ง์ด ์ฌ์ฉํ๋ค.
- mavenCentral
์ด์ ๋ถํฐ ๋ง์ด ์ฌ์ฉ๋์์ง๋ง ๋ณธ์ธ์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ๋ฆฌ๋ ๊ณผ์ ์ด ๋งค์ฐ ๋ณต์กํ๋ค.
- jcenter
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ก๋๋ฅผ ๊ฐ๋จํ๊ฒ ํจ
jcenter์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ก๋ํ๋ฉด mavenCentral์๋ ์ ๋ก๋๋ ์ ์๋๋ก ์๋ํ๋ฅผ ํ๊ณ ์์
repositories {
mavenCentral()
jcenter()
}
dependencies
ํ๋ก์ ํธ ๊ฐ๋ฐ์ ํ์ํ ์์กด์ฑ ์ ์ธ
์ง์ ์์ฑํด๋ ๋๊ณ , ์๋์์ฑ์ผ๋ก ๋ง๋ค์ด๋ ๋์ง๋ง ํน์ ๋ฒ์ ์ ๋ช ์ํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๊ณ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
// lombok
implementation('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
testImplementation('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
๋๊ธ