CloudFoundry dan JDK

Sep 17 2020

Saya berjuang dengan penerapan aplikasi musim semi yang perlu mengkompilasi kode java selama runtime. Aplikasi saya memanggil perintah javac saat pengguna mengirimkan solusi untuk suatu masalah, sehingga nantinya dapat menjalankan java

Saya menerapkan ke cloud foundry dan menggunakan java-buildpack, tapi sayangnya, itu tidak datang dengan JDK, hanya JRE yang tersedia dan hal itu tidak memiliki perintah javac atau java yang tersedia.

Apakah kalian tahu cara menambahkan JDK ke cloud foundry, tanpa harus menulis buildpack kustom saya sendiri.

Terima kasih

Jawaban

1 DanielMikusa Sep 18 2020 at 01:17

Saya menyarankan Anda menggunakan dukungan multi-buildpack dan menggunakan apt-buildpack untuk menginstal JDK. Ini harus bekerja dengan baik di samping JBP. Itu hanya perlu menjadi yang pertama dalam daftar.

https://github.com/cloudfoundry/apt-buildpack

Contoh:

  1. Buat apt.yml.

     ---
     packages:
     - openjdk-11-jdk-headless
    
  2. Gabungkan itu ke dalam JAR Anda jar uf path/to/your/file.jar apt.yml,. Ini harus ditambahkan ke root JAR, jadi jika jar tf path/to/your/file.jarAnda harus melihat hanya apt.ymldan tidak ada awalan untuk itu.

  3. Perbarui manifest.yml Anda. Tambahkan apt-buildpack terlebih dahulu dalam daftar.

     ---
     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
    
  4. Lalu cf push. Anda harus melihat apt-buildpack dijalankan dan menginstal JDK. Ini kemudian akan dipasang di bawah ~/deps/0/lib/jvm/java-11-openjdk-amd64. Tampaknya juga tidak berakhir di PATH, jadi gunakan jalur lengkap ke javacatau perbarui jalur.