CloudFoundry i JDK
Zmagam się z wdrożeniem aplikacji Spring, która musi kompilować kod Java w czasie wykonywania. Moja aplikacja wywołuje polecenie javac, gdy użytkownik przesyła rozwiązanie problemu, dzięki czemu może później uruchomić java
Wdrażam w odlewni w chmurze i używam java-buildpack, ale niestety nie jest dostarczany z JDK, dostępny jest tylko JRE, a ta rzecz nie ma dostępnych poleceń javac ani java.
Czy wiecie, jak dodać JDK do odlewni w chmurze bez konieczności pisania własnego pakietu kompilacji.
Dzięki
Odpowiedzi
Sugerowałbym użycie obsługi multi-buildpack i użycie apt-buildpack do zainstalowania JDK. Powinien działać dobrze razem z JBP. Po prostu musi być pierwszy na liście.
https://github.com/cloudfoundry/apt-buildpack
Przykład:
Utwórz apt.yml.
--- packages: - openjdk-11-jdk-headlessPakiet, który do swojego JAR
jar uf path/to/your/file.jar apt.yml. Powinien zostać dodany do katalogu głównego JAR, więc jeślijar tf path/to/your/file.jarpowinieneś zobaczyć tylkoapt.ymli nic przedrostkiem.Zaktualizuj swój plik manifest.yml. Najpierw dodaj apt-buildpack na liście.
--- 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_buildpackWtedy
cf push. Powinieneś zobaczyć uruchomienie apt-buildpack i zainstalować JDK. Zostanie wtedy zainstalowany pod~/deps/0/lib/jvm/java-11-openjdk-amd64. Wydaje się, że nie kończy się na PATH, więc użyj pełnej ścieżki do ścieżkijavaclub zaktualizuj ją.