CloudFoundryとJDK

Sep 17 2020

実行時にJavaコードをコンパイルする必要があるSpringアプリのデプロイに苦労しています。私のアプリは、ユーザーが問題の解決策を送信したときにjavacコマンドを呼び出すため、後でjavaを実行できます

Cloud Foundryにデプロイし、java-buildpackを使用していますが、残念ながら、JDKは付属しておらず、JREのみが使用可能であり、javacまたはjavaコマンドは使用できません。

独自のカスタムビルドパックを作成せずに、JDKをCloudFoundryに追加する方法を知っていますか。

ありがとう

回答

1 DanielMikusa Sep 18 2020 at 01:17

マルチビルドパックサポートを使用し、apt-buildpackを使用してJDKをインストールすることをお勧めします。JBPと一緒に問題なく動作するはずです。リストの最初にある必要があります。

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

例:

  1. apt.ymlを作成します。

     ---
     packages:
     - openjdk-11-jdk-headless
    
  2. それをJARにバンドルしますjar uf path/to/your/file.jar apt.yml。これは、JARのルートに追加する必要がありますので、あなたならばjar tf path/to/your/file.jarあなただけ見るべきであるapt.ymlと何もそれに接頭辞。

  3. マニフェスト.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
    
  4. 次にcf push。apt-buildpackが実行され、JDKがインストールされていることを確認してください。その後、の下にインストールされ~/deps/0/lib/jvm/java-11-openjdk-amd64ます。PATHにも到達していないように見えるので、フルパスを使用するか、パスをjavac更新してください。