spring이 아닌 일반 kotlin 프로젝트에 직접 gradle 추가하기 (feat... kotlin fun 함수 실행버튼 없음)

spring이나 spring boot가 아닌 일반 java, kotlin 프로젝트를 이미 작성해놨다.

gradle로 의존성을 받아야하는데

기존 프로젝트에 gradle 추가하는 방법이 검색해도 잘 안 나와서..

 

프로젝트 구조에서 gradle 의존성을 추가해준 다음에

build.gradle.kts(코틀린의 경우) 파일을 새로 만들고 코드를 작성해주면 끝난다.

 

plugins {
    kotlin("jvm") version "2.1.10"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib:2.1.20")
    testImplementation(kotlin("test"))
}

tasks.test {
    useJUnitPlatform()
}
kotlin {
    jvmToolchain(21)
}

근데 이렇게하고나니까 build.gradle.kts 파일을 코틀린이 인식을 못하는 것처럼 보였다

코틀린 마크가 없는 gradle이모티콘

로컬에 있는 프로젝트 폴더를 삭제해주고 깃에서 다시 내려받으면 인식 된다.

코틀린 마크가 생긴 gradle 이모티콘


gradle이 인식된거까진 좋은데

kotlin이 인식이 안된다

main 옆에 떠야하는 녹색 삼각형 실행 버튼도 없음 ㅠㅠ

 

src 폴더를 우클릭하고 mark as source folder로 지정하라고하는데 (Kotlin 1.3 with Gradle - "Kotlin not configured" error after marking the source root in IntelliJ)

그렇게하면 gradle이 다시 인식이 안되면서, kotlin에 모두 밑줄이 그어지는... 무한루프의 고난에 빠지게 된다 
(Intellij shows every line in build.gradle.kts is red)

 

스택오버플로에서는

rm -rf .idea .gradle gradle

를 해보거나 캐쉬삭제를 해보라고하는데 해도 소용없다


src 폴더를 소스 폴더로 지정하고 (mark as source directory)

gradle을 리프레쉬하면 소스 폴더로 지정한 게 풀리는 걸 발견했다

그래들이 소스 폴더를 리셋하고 있는 것 같아서 어딘가에 소스 폴더임을 명시해주면 될 것 같았는데..

 

디렉터리를 보다보니 gradle의 group 셋팅과 내 프로젝트의 디렉터리 구조가 맞지 않음을 발견했다.

gradle은 org.example을 찾을텐데
없음...

그러다보니 메인 폴더도 없는 걸 발견해서.. (걍 소스 저장용으로 만들었던 프로젝트가 커지다 보니 생긴일 ㅠ)

메인폴더도 만들어주고 폴더를 옮겨서 하위구조를 맞춰줬다.

 

src > 새 디렉터리 中 main 폴더

메인 폴더를 만들고 나니 자동으로 kotlin 소스 폴더가 생겼고 (..그랬던것같다 아마도..)

그곳으로 내 소스코드들을 이동시켰더니 파란 삼각형이 떴다 뜨흐흐 ㅠㅠ

 

최종 프로젝트 구조는 아래처럼 돼있다


코틀린 프로젝트는 main 폴더가 있어야하며 그 안에서 소스 코드들을 gradle이 자동으로 명시, 분류하는 것 같다.

녹색 삼각형이 없을 때는 main 폴더가 있는지, 소스 폴더로 지정된 kotlin 폴더가 존재하는지를 찾아보자