มีตัวแปรสภาพแวดล้อมสองตัว - CATALINA_OPTS
และJAVA_OPTS
- ซึ่งใช้ทั้งในสคริปต์เริ่มต้นและปิดระบบcatalina.shสำหรับ Tomcat มีการอธิบายไว้ในความคิดเห็นภายในไฟล์ว่า:
[JAVA_OPTS]: (ทางเลือก) ตัวเลือกรันไทม์ Java ที่ใช้เมื่อเรียกใช้คำสั่ง "start", "stop" หรือ "run"
และ
[CATALINA_OPTS]: (ไม่บังคับ) ตัวเลือกรันไทม์ Java ที่ใช้เมื่อเรียกใช้คำสั่ง "start" หรือ "run"
เหตุใดจึงมีตัวแปรสองตัวที่แตกต่างกัน? และอะไรคือความแตกต่าง?
ประการแรกสิ่งที่ระบุในตัวแปร EITHER จะถูกส่งผ่านไปยังคำสั่งที่เริ่มต้นใช้งาน Tomcat นั่นคือคำสั่ง "start" หรือ "run" แต่จะส่งเฉพาะค่าที่กำหนดใน JAVA_OPTS ไปยังคำสั่ง "stop" นั่นอาจไม่ได้สร้างความแตกต่างใด ๆ กับวิธีที่ Tomcat วิ่งในทางปฏิบัติเนื่องจากมีผลเฉพาะเมื่อสิ้นสุดการวิ่งไม่ใช่การเริ่มต้น
ความแตกต่างประการที่สองมีความละเอียดอ่อนมากขึ้น แอปพลิเคชันอื่น ๆ อาจใช้ JAVA_OPTS แต่มีเพียง Tomcat เท่านั้นที่ใช้ CATALINA_OPTS ดังนั้นหากคุณกำลังตั้งค่าตัวแปรสภาพแวดล้อมเพื่อใช้งานโดย Tomcat เท่านั้นคุณควรใช้ CATALINA_OPTS ในขณะที่คุณกำลังตั้งค่าตัวแปรสภาพแวดล้อมที่จะใช้โดยแอปพลิเคชัน java อื่น ๆ เช่น JBoss คุณควรใส่ การตั้งค่าของคุณใน JAVA_OPTS
ที่มา: CATALINA_OPTS v JAVA_OPTS - ต่างกันอย่างไร?