그럼 Gitpod의 JDK&SDK를 함께 해보도록 하겠습니다.

TL;DR


기투팟에서는 이전 공식 문서에는 스칼라, 코톨린 등 JVM 언어를 사용하는 방법이 있었지만, 최근에는 Clojure만 게재돼 기투팟의 자바를 초보자에게 소개하기 어렵다.
그래서 SDKMAN!같이 소개할게요.

SDKMAN!


https://sdkman.io/
느낌표가 중요한 것 같습니다. 이 도구는 자바에서 사용할 수 있는 SDK 관리자입니다.
Gitpod 내부에서도 Azul Systems의 Zulu JDK를 설치하는 데 사용됩니다.
따라서 Gitpod에서도 sdk install 명령을 사용할 수 있습니다!
특히 Giitpod 내에서 사용 가능한 앱 명령, brew 명령을 비교해 보면 다음과 같은 장점이 있다.
  • 주루JDK 이외의 JDK와 공존할 수 있습니다.
  • gcc와 같은 의존성 패키지와 함께 설치할 필요가 없기 때문에 매우 빠르다.
  • SDK의 최신 버전을 사용할 수 있습니다.
  • 편하네.
    그럼 우선 JVM 언어를 시험해 봅시다.
    이하sdk install는 생략한 후sdk i 사용한다.

    Java


    그 전에 자바 Hello, World를 컴파일하세요!보여주세요.
    Java 단계에는 sdk i 명령이 필요하지 않습니다.워크스페이스 만들 때 하는 거니까.
    https://gitlab.com/acefed/gitpod-jsp
    죄송하지만 이번에는 이쪽 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 groovysdk i springboot도 별도로 행동할 수 있다.
    Spring Boot보다 간단하게 쓰여 규모가 커져도 맵지 않은 웹 애플리케이션 프레임워크입니다.sdk i grails 이후대량의 손상을 보였지만 전혀 문제가 없습니다. 단지 몇 시간 동안 구축된 후에 기본 페이지는 8080개의 포트에 나타날 것입니다.
    $ cd ..
    
    현재 디렉토리를 복원한 후 끝냅니다.
    수고하셨습니다.
    특히 좋아하는 JDK, SDK, JVM 언어를 시도해 볼 수 있습니다.
    Gitpod+SDKMAN!만세!

    FYI


    https://qiita.com/ligun/items/6961918064dccbdac114

    좋은 웹페이지 즐겨찾기