質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

490閲覧

運用環境に於いて Java JRE ではなく JDK でアプリケーションを実行させることのリスク

advanceboy

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2020/01/28 11:04

Java ベースのアプリケーションを運用環境で動かす際に、 本来であれば JRE で十分であるのにも関わらず、 JDK をインストールして動かすことに、 何らかのリスクや弊害はありますか?

背景

Java 11 以降、 Java ではいわゆるパブリック JRE が提供されなくなりました。

Java 11 以降の Java ベースの商用アプリケーションを、 コンシューマに提供して実行する場合、 本来であればそのアプリケーションの開発元・ライセンス元が、 アプリケーション内にカスタマイズされた JRE を同梱して配布すべきだと認識しています。 (※1)

ところが、 一部の商用アプリケーションでは、本来 JRE のみで動作するはず (※2) なのに、 動作環境として JDK 11 のインストールを求めていることがあります。

システムにインストールされた JRE を使って動作させる弊害がいくつかある (※3) ことは把握しています。
JRE ではなく JDK をインストールすること自体にも、 "Development Kit" というくらいなので、 運用環境にインストールさせるようなことが本来想定されていないのではないかと、気になっています。

※1: Oracle の 『ライセンスと配布に関するFAQ』より https://java.com/ja/download/faq/distribution.xml
※2: 同じアプリを Java 8 上で動作させる場合は JRE のみのインストールしか求めていないため。 (このため、 中には本当に Java 11 以降の場合に限り JDK にしか含まれない仕様を必須としているものもあるかもしれないが、 とりあえずその可能性は除外して考えてください。)
※3: システム上で複数の Java ベースのアプリを動かす場合などで、 Java のバージョンを上げられないジレンマが起きやすいことや、 Oracle Java のライセンス変更によりコンシューマが個々に Java の有償ライセンスの解決を行わなくてはならないことなど。 https://www.oracle.com/technetwork/jp/articles/java/ja-topics/jdk-release-model-4487660-ja.html

補足

もし、 JDK で動作させることにリスクや弊害があるのであれば、 それを理由に、 アプリケーションに JRE を同梱して配布するように働きかけることにプラスにならないかなという魂胆もあります。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/01/28 11:20

オラクルライセンス違反による賠償請求。 jre作成コマンドがついてるはずなので基本はそれで作成します
advanceboy

2020/01/29 04:28

ライセンス違反というのは、 Oracle Java を Oracle Java SE Subscription などを契約せずに、 (Oracle Binary Code License で許可されている開発用途等を除く)商用利用した場合の話ですよね? ただ、それは例えば Oracle Java 8 JRE を使用しても同じことなので、 JRE と JDK の違いではないと思われますし、 Subscription を持たずに作成された JRE であってもライセンス違反であることは変わりないのではないでしょうか?(ライセンスの話なので、ここで個人が良し悪しの結論を出すべきではないかもしれませんが) 質問の本文ではわかりにくく書いていたのは申し訳ありませんが、 ライセンス上の懸念があることは "※3" の部分で理解しているつもりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問