CloudFoundry и JDK
Я борюсь с развертыванием весеннего приложения, которому необходимо компилировать Java-код во время выполнения. Мое приложение вызывает команду javac, когда пользователь отправляет решение проблемы, поэтому позже оно может запустить java.
Я развертываюсь в облачном цехе и использую java-buildpack, но, к сожалению, он не поставляется с JDK, доступен только JRE, и для этой вещи нет доступных команд javac или java.
Вы, ребята, знаете, как добавить JDK в облачное хранилище без необходимости писать собственный пакет сборки.
благодаря
Ответы
Я бы посоветовал вам использовать поддержку нескольких пакетов сборки и использовать apt-buildpack для установки JDK. Он должен нормально работать вместе с JBP. Просто он должен быть первым в списке.
https://github.com/cloudfoundry/apt-buildpack
Пример:
Создайте apt.yml.
--- packages: - openjdk-11-jdk-headlessBundle , что в ваш JAR,
jar uf path/to/your/file.jar apt.yml. Он должен быть добавлен в корень JAR, поэтому, еслиjar tf path/to/your/file.jarвы должны увидеть толькоapt.ymlи ничего не префикса к нему.Обновите свой manifest.yml. Добавьте apt-buildpack первым в список.
--- 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_buildpackТогда
cf push. Вы должны увидеть запуск apt-buildpack и установить JDK. Затем он будет установлен в папке~/deps/0/lib/jvm/java-11-openjdk-amd64. Похоже, что он также не попадает в PATH, поэтому используйте полный путьjavacили обновите путь.