Je voulais étudier kotlin pour la première fois, mais je n'aimais pas avoir le compilateur kotlin sur mon mac, j'ai donc créé un ensemble avec docker compose. Je ne suppose pas que j'utiliserai un outil de construction, mais je l'ai créé sur la base du concept de préparation d'un environnement où vous pouvez vérifier tout en exécutant la syntaxe simple de kotlin. Si vous en avez besoin, veuillez vous y référer.
./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"]
La structure des répertoires est la suivante
.
├── docker
│ └── java
│ └── Dockerfile
├── docker-compose.yml
└── src
└── test.kt
Exécutez simplement la commande suivante dans le répertoire où se trouve docker-compose.yml.
$ docker-compose build
$ docker-compose up
En fait, compilez test.kt
et exécutez-le avec la commande java
.
La cible à compiler est . / Src / test.kt
.
fun main(args: Array<String>) {
println("Hello, World!")
}
Entrez dans le conteneur, compilez et exécutez.
$ 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#
Je reçois un avertissement indiquant que -Xverify: none
est inutile, mais j'ai pu le compiler et l'exécuter avec la commande java.
De plus, comme / usr / local / src
est monté sur volume, le fichier jar créé après la compilation peut également être confirmé dans le système de fichiers de la machine hôte.
.
├── docker
│ └── java
│ └── Dockerfile
├── docker-compose.yml
└── src
├── test.jar
└── test.kt
Au fur et à mesure que vous continuez à étudier, vous voudrez peut-être utiliser l'outil de construction et divers inconvénients peuvent survenir, mais une fois l'environnement prêt, je veux étudier de plus en plus!
Recommended Posts