CloudFoundry và JDK

Sep 17 2020

Tôi đang gặp khó khăn với việc triển khai ứng dụng mùa xuân cần biên dịch mã java trong thời gian chạy. Ứng dụng của tôi gọi lệnh javac khi người dùng gửi giải pháp cho một vấn đề, vì vậy sau này nó có thể chạy java

Tôi đang triển khai cho xưởng đúc đám mây và sử dụng java-buildpack, nhưng rất tiếc, nó không đi kèm với JDK, chỉ có JRE và thứ đó không có sẵn lệnh javac hoặc java.

Có bạn nào biết cách thêm JDK vào xưởng đúc đám mây mà không cần phải viết gói xây dựng tùy chỉnh của riêng tôi không.

Cảm ơn

Trả lời

1 DanielMikusa Sep 18 2020 at 01:17

Tôi khuyên bạn nên sử dụng hỗ trợ multi-buildpack và sử dụng apt-buildpack để cài đặt JDK. Nó sẽ hoạt động tốt cùng với JBP. Nó chỉ cần được đầu tiên trong danh sách.

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

Thí dụ:

  1. Tạo apt.yml.

     ---
     packages:
     - openjdk-11-jdk-headless
    
  2. Gói nó vào JAR của bạn , jar uf path/to/your/file.jar apt.yml. Nó nên được thêm vào thư mục gốc của JAR, vì vậy nếu jar tf path/to/your/file.jarbạn sẽ thấy chỉ apt.ymlvà không có gì được đặt trước nó.

  3. Cập nhật tệp kê khai.yml của bạn. Thêm apt-buildpack trước trong danh sách.

     ---
     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. Sau đó cf push. Bạn sẽ thấy apt-buildpack chạy và cài đặt JDK. Sau đó, nó sẽ được cài đặt bên dưới ~/deps/0/lib/jvm/java-11-openjdk-amd64. Nó dường như cũng không kết thúc trên PATH, vì vậy hãy sử dụng đường dẫn đầy đủ đến javachoặc cập nhật đường dẫn.