[Windows] kotlinc 환경설정

spring·2024년 9월 20일
0
post-thumbnail

Linux나 Mac은 아래 참조

https://devocean.sk.com/blog/techBoardDetail.do?ID=165357&boardType=techBlog

Java 설정(openjdk 17)

https://github.com/ojdkbuild/ojdkbuild/releases 에서 java-17-openjdk-17.0.3.0.6-1.win.x86_64.zip 과 같은 zip 파일을 받는다.
(Windows에서는 모두 수동으로 하는걸 권장한다)

압축을 해제하고 C:\Java\jdk17 처럼 심플하게 jdk17 이란 폴더안에 압축파일들을 넣는다.

생성 JAVA_HOME: C:\Java\jdk17
생성 CLASSPATH: %JAVA_HOME%\lib
추가 Path : %JAVA_HOME%\bin 추가

Kotlin 설정(2.x)

https://github.com/JetBrains/kotlin/releases/ 에서 kotlin-compiler-X.X.X.zip 를 다운받아 압축을 해제한다.

압축해제한 폴더는 kotlinc 폴더로 안에 bin, lib, license, build.txt 등이 있는데,

이 폴더를 C:\Java 밑으로 이동시킨다.

C:\Java\kotlinc 경로를 환경변수로 아래처럼 설정한다.

여기서 kotlinc.bat 파일의 절대경로가 띄어쓰기가 있으면 동작은 하지만 메세지가 뜬다.
관련내용 에서 확인가능하다.

  • 새로 생성 KOTLINC_HOME : C:\Java\kotlinc
  • 기존 Path에 추가 Path : %KOTLINC_HOME%\bin

kotlinc.bat 파일 관련 문제

kotlinc를 사용하다보면 지정된 파일을 찾을 수 없습니다.라는게 뜨는데 정상동작하지만 거슬린다.

    1. 경로에 공백이 있는경우
    1. 배치파일 set_java_version 함수에서 %_version%을 제대로 못 가져오는 경우

1번 문제는 아래처럼 %~sf0에 쌍따옴표를 씌워주면 해결된다.

:set_home
  set _BIN_DIR=
  for %%i in ("%~sf0") do set _BIN_DIR=%_BIN_DIR%%%~dpsi
  set _KOTLIN_HOME=%_BIN_DIR%..
goto :eof

2번 문제는 파싱에 문제가 있는건지 어차피 jdk는 17버전을 사용할 것이니 java -version 으로 버전 확인 후 그냥 아래처럼 수정하면 잘 동작한다.

주의! set _version="17.0.3 처럼 쌍따옴표로 닫는게 아니다.
:set_java_version
  set _version="17.0.3

  if "!_version!"=="" (
    rem If failed to parse the output, set the version to 1.
    set _java_major_version=1
  ) else (
    rem Strip the leading quote.
    set _java_major_version=!_version:~1!
  )
goto :eof

CLI로 실행해보기

https://kotlinlang.org/docs/command-line.html 에 자세한 설명이 나와있다.

fun main() {
    println("Hello, World!")
}

Create and run an application

kotlinc hello.kt -include-runtime -d hello.jar
java -jar hello.jar

Compile a library

kotlinc hello.kt -d hello.jar
kotlin -classpath hello.jar HelloKt

gradle

https://gradle.org/install/

에서 파일을 받은 뒤 C:\Java\gradle 에 압축을 풀어준다.

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글