質問: JREとJDKの違いが、いまいち分かっていません。 JREは実行時に必要、JDKは開発時に使う、JREはJDKに含まれている、というような、ここに書かれているような内容程度のことは分かっています。 開発環境にJDKが必要なのは間違いないと思いますが、では、本番環境は常にJREを使うべきなのでしょうか? ここで想定しているアプリケーションは、JBossEAPなどの上で動くウェブアプリケーションであり、本番環境とは、自社で運営するクラウドサービスのサーバであったり、顧客に社内に構築されたサーバであったり、というものです。 「JREは実行時に必要、JDKは開発時に使う、JREはJDKに含まれている」という程度の知識しか無いため、本番環境は常にJREにすべきなのか、JDKを使っても良いのか、あるいはJDKを使う方が良いケースがあるのか、その判断基準がありません。 この判断基準となるような、具体的な違いを知りたいです。 また、OracleJDKのサポートサイクル(バグフィックスやセキュリティパッチのリリース)が変更になりますが、この点についても疑問があります。 もし本番環境にはJREしか使わない場合、開発環境のJDKにセキュリティパッチが当たらなかったとして、本番環境にはどのような影響があるのでしょう? 本番環境のJREにきちんとパッチがあたっていれば、アプリケーションの運用には特に問題が無いのでしょうか?
回答: Server JRE という本番環境用?のJREもあります。 一般論ですが、特に理由がなければServer JREを使い、ソフトウェアの要件でJDKが必要な場合はJDKを入れるというのが良いかと思います。