Ich wollte Kotlin zum ersten Mal studieren, aber ich mochte es nicht, den Kotlin-Compiler auf meinem Mac zu haben, also habe ich ein Set mit Docker Compose erstellt. Ich gehe nicht davon aus, dass ich ein Build-Tool verwenden werde, aber ich habe es basierend auf dem Konzept der Vorbereitung einer Umgebung erstellt, in der Sie überprüfen können, während Sie die einfache Syntax von Kotlin ausführen. Wenn Sie es brauchen, beziehen Sie sich bitte darauf.
./docker-compose.yml
version: "3.7"
services:
java:
build: ./docker/java
tty: true
volumes:
- ./src:/usr/local/src
./docker/java/Dockerfile
FROM openjdk:13-slim
RUN apt-get update && apt-get install -y git \
unzip \
zip \
curl \
vim
WORKDIR /usr/local/src
RUN curl -s https://get.sdkman.io | bash
RUN /bin/bash -l -c "chmod a+x $HOME/.sdkman/bin/sdkman-init.sh;$HOME/.sdkman/bin/sdkman-init.sh;sdk install kotlin"
CMD ["/bin/bash"]
Die Verzeichnisstruktur ist wie folgt
.
├── docker
│ └── java
│ └── Dockerfile
├── docker-compose.yml
└── src
└── test.kt
Führen Sie einfach den folgenden Befehl in dem Verzeichnis aus, in dem sich docker-compose.yml befindet.
$ docker-compose build
$ docker-compose up
Kompilieren Sie test.kt
und führen Sie es mit dem Befehl java
aus.
Das zu kompilierende Ziel ist . / Src / test.kt
.
fun main(args: Array<String>) {
println("Hello, World!")
}
Geben Sie den Container ein, kompilieren Sie ihn und führen Sie ihn aus.
$ docker-compose exec java bash
root@3b62768acd0b:/usr/local/src# kotlinc test.kt -include-runtime -d test.jar
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
root@3b62768acd0b:/usr/local/src# java -jar test.jar
Hello, World!
root@3b62768acd0b:/usr/local/src#
Ich erhalte die Warnung, dass "-Xverify: none" nutzlos ist, aber ich konnte es mit dem Java-Befehl kompilieren und ausführen.
Da / usr / local / src
volumenmontiert ist, kann die nach dem Kompilieren erstellte JAR-Datei auch im Dateisystem des Host-Computers bestätigt werden.
.
├── docker
│ └── java
│ └── Dockerfile
├── docker-compose.yml
└── src
├── test.jar
└── test.kt
Während Sie weiter lernen, möchten Sie möglicherweise das Build-Tool verwenden, und es können verschiedene Unannehmlichkeiten auftreten, aber sobald die Umgebung bereit ist, möchte ich immer mehr lernen!