CloudFoundry et JDK
J'ai du mal avec le déploiement d'une application de printemps qui doit compiler du code java pendant l'exécution. Mon application appelle la commande javac lorsqu'un utilisateur soumet une solution à un problème, afin de pouvoir exécuter java ultérieurement
Je déploie sur Cloud Foundry et utilise le java-buildpack, mais malheureusement, il ne vient pas avec JDK, seul JRE est disponible et cette chose n'a pas de commandes javac ou java disponibles.
Connaissez-vous un moyen d'ajouter JDK à la fonderie de cloud, sans avoir à écrire mon propre buildpack personnalisé.
Merci
Réponses
Je vous suggère d'utiliser le support multi-buildpack et d'utiliser apt-buildpack pour installer un JDK. Cela devrait fonctionner correctement avec le JBP. Il doit juste être le premier dans la liste.
https://github.com/cloudfoundry/apt-buildpack
Exemple:
Créez un fichier apt.yml.
--- packages: - openjdk-11-jdk-headlessBundle qui dans votre JAR,
jar uf path/to/your/file.jar apt.yml. Il devrait être ajouté à la racine du JAR, donc si vousjar tf path/to/your/file.jarvoyez justeapt.ymlet rien de préfixé.Mettez à jour votre manifest.yml. Ajoutez d'abord apt-buildpack dans la liste.
--- applications: - name: spring-music memory: 1G path: build/libs/spring-music-1.0.jar buildpacks: - https://github.com/cloudfoundry/apt-buildpack#v0.2.2 - java_buildpackAlors
cf push. Vous devriez voir l'exécution d'apt-buildpack et installer le JDK. Il sera ensuite installé sous~/deps/0/lib/jvm/java-11-openjdk-amd64. Il ne semble pas non plus se retrouver sur le PATH, utilisez donc un chemin completjavacou mettez à jour le chemin.