人生のプチ美学を教えてください!!

Java初心者です、宜しくお願いします。

Javaの開発時に、PCにJDKとかJREをインスト-ルした後に、
環境変数のPATHを「%JAVA_HOME%」と設定しますが、
この意味はどのような意味でしょうか。

通常のPATHは「C:\Users\●●\Desktop\●●」となりますが
何故「%JAVA_HOME%」のような書き方が、PATHとしてOSに認識
されるのでしょうか。
「C:\Users\●●\Desktop\●●」でも「%JAVA_HOME%」
でも、どちらでもよいのでしょうか。

また、このような表記の仕方は、すべてのOSに対して、JavaのJDKとか
JREのPATH設定に対して、書き方が統一され、認識されるものなのでし
ょうか。

以上、宜しくお願いします。

質問者からの補足コメント

  • うーん・・・

    回答有難う御座います。

    ちなみに「%~~%」の「%」はどのような意味があるのでしょうか。

      補足日時:2018/05/23 21:17

A 回答 (7件)

>何故「%JAVA_HOME%」のような書き方が、PATHとしてOSに認識


>されるのでしょうか

こっちがぎもんの中心なのかな?

文字列に別の文学列を関連付ける、つまり文字列をキーにして
別の文字列を表す、キ→値 のペアのことを
「環境変数」といってWindowsが提供する機能。
UNIX(Linux等)にも同等の機能がありますが、こっちが本家です。
WindowsはMS―DOS時代にこのアイデアをコピーしてます。

%~%という記法は、cmd.exeというプログラムが、スクリプトを
解釈するとき、%~%の~の部分をキーにして値をOSから取得し、
それに置き換えるためのものです。スクリプトを解釈する
プログラムによって書き方はことなるし、Javaから読み取る
こともできる(System.getenv)


こういうのはMS―DOS時代や、最初の頃のWindowsの頃は、
パソコンの利用者に必須の知識だったんですが、
今はコマンドラインとか弄らないから、知る人ぞ知るなんでしょうね。

でも、Javaやるなら、いやプログラマなら必須の基礎知識です。
    • good
    • 0
この回答へのお礼

tknakamuriさん、回答有難う御座います。

もう少し、コマンドラインについても勉強してみます。
本当にありがとうございました。

お礼日時:2018/05/26 13:35

No.2です。



質問者さんはExcelの『名前の定義』はご存じでしょうか?
あるセル範囲(例えばA1:C5)を【あいうえお】と言う集団の塊として名称を付ける事なのですが。
個人的にですが私はそれに似ているかなって思います。

あるソフトがPathを探すのに見つけやすくする為の言わば『共通した呼称』とする事で、
%~%で挟まれた固定化された物を頼って最終的なフォルダの位置を見つけられる目印ですかね。

他にはWindowsなら C:\WINDOWS を %SystemRoot% としておけばOSが立ち上がる際に、仮にOSを他の(例 Dドライブ)にインストしたとしても
間違えてCドライブを探しに行かず %SystemRoot% を目印に探す事で間違いをなくせます。
またその下層のフォルダを設定する際にも D:\WINDOWS\system32 とはせず、%SystemRoot%\system32 と言う扱いで済ませられます。
    • good
    • 0

>ちなみに「%~~%」の「%」はどのような意味があるのでしょうか。



環境変数の展開を意味します。
https://www.pg-fl.jp/program/dos/doscmd/str_perc …

OSのAPIで簡単に展開できるので…。
http://d.hatena.ne.jp/cjohn/touch/20081210/12289 …
    • good
    • 0

例えば、tomcatというWebServerはJSPというWebpageをコンパイルするために


Javac.exeを使用します(Windowsの場合)

tomatはJavacは%JAVA_HOME\bin\に有るものを起動します。

要するにサーバ系のソフト等が、JDKのコマンドの場所を知るのに
使うのです。PATHとは直接関係有りません。
    • good
    • 0

%JAVA_HOME% と'%'で囲んでおくと環境変数が設定されていないときに


'%%'となるので、Java環境がインストールされているか否かの判別に
使用されます。
    • good
    • 0

>書き方が統一され、認識されるもの



書き方を統一する事でアップデート等があった際、『C:\Users\●●\Desktop\●●』みたいな状態では
どこにインストされているのか探し回らないといけない。
でも『%JAVA_HOME%』と代名しておけば、そこからC:\~と導き出せるので手間がかからない。
    • good
    • 0
この回答へのお礼

めぐみん_さん、回答有難う御座います。

「%~~%」で囲む、または囲まれるのは、OSは囲まれた文字をPATHとしてどのように認識する
のでしょうか?
「%~~%」はどのようなの意味を持つのでしょうか。

お礼日時:2018/05/24 00:55

JAVA_HOMEという名前の環境変数があるからです。


JAVA_HOMEという名前の環境変数が設定されていなければ、値にいくら%JAVA_HOME%と記述しても動作しません。
んで、色んなミドルウェアがある中で、JAVA_HOMEという名称はJavaがインストールされているパスの認識としてよく利用される名前です。
よって、環境変数JAVA_HOMEを設定した方がハマる要因は減ります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!