그럼 Gitpod의 JDK&SDK를 함께 해보도록 하겠습니다.
TL;DR
기투팟에서는 이전 공식 문서에는 스칼라, 코톨린 등 JVM 언어를 사용하는 방법이 있었지만, 최근에는 Clojure만 게재돼 기투팟의 자바를 초보자에게 소개하기 어렵다.
그래서 SDKMAN!같이 소개할게요.
SDKMAN!
느낌표가 중요한 것 같습니다. 이 도구는 자바에서 사용할 수 있는 SDK 관리자입니다.
Gitpod 내부에서도 Azul Systems의 Zulu JDK를 설치하는 데 사용됩니다.
따라서 Gitpod에서도
sdk install
명령을 사용할 수 있습니다!특히 Giitpod 내에서 사용 가능한 앱 명령, brew 명령을 비교해 보면 다음과 같은 장점이 있다.
그럼 우선 JVM 언어를 시험해 봅시다.
이하
sdk install
는 생략한 후sdk i
사용한다.Java
그 전에 자바 Hello, World를 컴파일하세요!보여주세요.
Java 단계에는
sdk i
명령이 필요하지 않습니다.워크스페이스 만들 때 하는 거니까.죄송하지만 이번에는 이쪽 Giitpod 템플릿을 사용하겠습니다.
GiitHub을 사용해 보고 싶으신 분들은 상기 창고인 Public Domain의The Unlicense를 사용하시고 복사, Clone, Download를 사용하세요.
8080 포트는 소파가 아닌 JSP를 시작하고 Ctrl+C를 누르면 터미널에서 명령을 입력할 수 있습니다.
$ mkdir -p src/main/java
$ echo 'public class JavaApplication { public static void main(String[] args) { System.out.println("Hello, World!"); } }' > src/main/java/JavaApplication.java
$ javac src/main/java/JavaApplication.java
$ java -cp src/main/java JavaApplication
위에서 터미널로 순서대로 복사하십시오.javac 명령으로 컴파일하면class 파일을 만든 후 자바 명령을 사용하여 클래스 경로를 지정하고 호출합니다.
Picked up JAVA_TOOL_OPTIONS: ...
Hello, World!
완료.Scala
$ sdk i scala
$ mkdir -p src/main/scala
$ echo 'object ScalaApplication extends App { println("Hello, World!") }' > src/main/scala/ScalaApplication.scala
$ scalac -d src/main/scala src/main/scala/ScalaApplication.scala
$ scala -cp src/main/scala ScalaApplication
맨 위에 있는 sdk i scala
명령을 사용하여 Scala를 설치했습니다.scalac 명령으로 컴파일하면class 파일을 만들었지만 자바와 달리 현재 디렉터리에 만들 수 있기 때문에 - d 옵션으로 만든 디렉터리를 지정합니다.
그리고 scala 명령으로 클래스 경로를 지정하고 호출합니다.
Picked up JAVA_TOOL_OPTIONS: ...
Hello, World!
자바에 비해 Scara는 짧게 쓸 수 있다.Kotlin
$ sdk i kotlin
$ mkdir -p src/main/kotlin
$ echo 'fun main() { println("Hello, World!") }' > src/main/kotlin/KotlinApplication.kt
$ kotlinc -d src/main/kotlin src/main/kotlin/KotlinApplication.kt
$ kotlin -cp src/main/kotlin KotlinApplicationKt
맨 위에 있는 sdk i kotlin
명령을 사용하여 Kotlin을 설치합니다.kotlinc 명령으로 컴파일하면class 파일을 만들었지만 자바와 달리 현재 디렉터리에 만들 수 있기 때문에 - d 옵션으로 만든 디렉터리를 지정합니다.
그리고kotlin 명령으로 클래스 경로를 지정하고 호출합니다. 생성된 클래스 파일 이름 이후
'Kt'가 추가됐기 때문에 주의해야 한다.
Picked up JAVA_TOOL_OPTIONS: ...
Hello, World!
코틀린은 스칼라에 비해 짧게 쓸 수 있다.Groovy
$ sdk i groovy
$ mkdir -p src/main/groovy
$ echo 'println "Hello, World!"' > src/main/groovy/GroovyApplication.groovy
$ groovy src/main/groovy/GroovyApplication
맨 위에 있는 sdk i groovy
명령을 사용하여 Groovy를 설치합니다.groovyc 명령을 사용하여 컴파일할 때도 동작하지만, 컴파일하지 않아도 동작하기 때문에groovy 명령을 사용하여 파일을 직접 호출합니다.
Picked up JAVA_TOOL_OPTIONS: ...
Hello, World!
Groovy는 Scara와 Kottlin에 비해 짧게 쓰여 컴파일하지 않아도 이동할 수 있다.$ sdk i sbt
$ sdk i leiningen
빌드 도구 sbt와 Leiningn, Clojure에 대한 설명은 생략합니다.귀찮아서.하지만 필요할 것 같아서 웹 응용 프레임워크를 소개합니다.
Spring Boot
$ sdk i springboot
$ spring init -d=web,thymeleaf -n=spring-web spring-web
$ echo '<h1>Hello, World!</h1>' > spring-web/src/main/resources/templates/index.html
$ cd spring-web
$ ./mvnw spring-boot:run
나온다!저는 Spring Boot!SDKMAN!사용 후 스프링 지령을 간단하게 사용할 수 있으니 추천합니다!
기본 웹 페이지일 경우 코드를 추가하지 않으면 bootRun 이후에 종료되므로 이번에는 Thymeleaf에 HTML 태그를 추가합니다.
./mvnw spring-boot:run
실행(Gradle 사용 시./gradlew bootRun
이후 로그가 많이 유출되지만 최종적으로 문제가 발생하지 않고 8080 포트에 표시됩니다.이번에는 자바로 이동하고 있지만 Kotlin과 Groovy도 Gitpod+SDKMAN을 쓸 수 있으니까!Spring Boot 시작하기에 가장 적합합니다.
$ cd ..
다음 웹 응용 프로그램 프레임워크를 계속 시도하고 싶을 때 현재 디렉터리를 복원합니다.Grails
$ sdk i grails
$ grails create-app grails-web
$ cd grails-web
$ grails run-app
Groovy가 쓸 수 있는 Rails와 비슷한 웹 응용 프레임워크.스프링부트에 구축된 것으로 알려졌지만, 특별히 하지 않고
sdk i groovy
와sdk i springboot
도 별도로 행동할 수 있다.Spring Boot보다 간단하게 쓰여 규모가 커져도 맵지 않은 웹 애플리케이션 프레임워크입니다.
sdk i grails
이후대량의 손상을 보였지만 전혀 문제가 없습니다. 단지 몇 시간 동안 구축된 후에 기본 페이지는 8080개의 포트에 나타날 것입니다.$ cd ..
현재 디렉토리를 복원한 후 끝냅니다.수고하셨습니다.
특히 좋아하는 JDK, SDK, JVM 언어를 시도해 볼 수 있습니다.
Gitpod+SDKMAN!만세!
FYI
Reference
이 문제에 관하여(그럼 Gitpod의 JDK&SDK를 함께 해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tkithrta/articles/4ff685b007bc79텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)