CloudFoundry และ JDK
ฉันกำลังดิ้นรนกับการปรับใช้แอพ spring ที่ต้องคอมไพล์โค้ด java ระหว่างรันไทม์ แอปของฉันเรียกใช้คำสั่ง javac เมื่อผู้ใช้ส่งวิธีแก้ปัญหาเพื่อให้สามารถเรียกใช้ java ได้ในภายหลัง
ฉันกำลังปรับใช้กับ cloud Foundry และใช้ java-buildpack แต่น่าเสียดายที่มันไม่ได้มาพร้อมกับ JDK มีเพียง JRE เท่านั้นที่พร้อมใช้งานและสิ่งนั้นไม่มีคำสั่ง javac หรือ java
พวกคุณรู้วิธีเพิ่ม JDK ไปยัง cloud Foundry โดยไม่ต้องเขียน buildpack ของตัวเองหรือไม่
ขอบคุณ
คำตอบ
ฉันขอแนะนำให้คุณใช้การสนับสนุน multi-buildpack และใช้ apt-buildpack เพื่อติดตั้ง JDK ควรทำงานร่วมกับ JBP เพียงแค่ต้องเป็นที่หนึ่งในรายการ
https://github.com/cloudfoundry/apt-buildpack
ตัวอย่าง:
สร้าง apt.yml
--- packages: - openjdk-11-jdk-headlessBundle
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หรืออัปเดตเส้นทาง