
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設定に対して、書き方が統一され、認識されるものなのでし
ょうか。
以上、宜しくお願いします。
No.7ベストアンサー
- 回答日時:
>何故「%JAVA_HOME%」のような書き方が、PATHとしてOSに認識
>されるのでしょうか
こっちがぎもんの中心なのかな?
文字列に別の文学列を関連付ける、つまり文字列をキーにして
別の文字列を表す、キ→値 のペアのことを
「環境変数」といってWindowsが提供する機能。
UNIX(Linux等)にも同等の機能がありますが、こっちが本家です。
WindowsはMS―DOS時代にこのアイデアをコピーしてます。
%~%という記法は、cmd.exeというプログラムが、スクリプトを
解釈するとき、%~%の~の部分をキーにして値をOSから取得し、
それに置き換えるためのものです。スクリプトを解釈する
プログラムによって書き方はことなるし、Javaから読み取る
こともできる(System.getenv)
こういうのはMS―DOS時代や、最初の頃のWindowsの頃は、
パソコンの利用者に必須の知識だったんですが、
今はコマンドラインとか弄らないから、知る人ぞ知るなんでしょうね。
でも、Javaやるなら、いやプログラマなら必須の基礎知識です。
tknakamuriさん、回答有難う御座います。
もう少し、コマンドラインについても勉強してみます。
本当にありがとうございました。
No.6
- 回答日時:
No.2です。
質問者さんはExcelの『名前の定義』はご存じでしょうか?
あるセル範囲(例えばA1:C5)を【あいうえお】と言う集団の塊として名称を付ける事なのですが。
個人的にですが私はそれに似ているかなって思います。
あるソフトがPathを探すのに見つけやすくする為の言わば『共通した呼称』とする事で、
%~%で挟まれた固定化された物を頼って最終的なフォルダの位置を見つけられる目印ですかね。
他にはWindowsなら C:\WINDOWS を %SystemRoot% としておけばOSが立ち上がる際に、仮にOSを他の(例 Dドライブ)にインストしたとしても
間違えてCドライブを探しに行かず %SystemRoot% を目印に探す事で間違いをなくせます。
またその下層のフォルダを設定する際にも D:\WINDOWS\system32 とはせず、%SystemRoot%\system32 と言う扱いで済ませられます。
No.5
- 回答日時:
>ちなみに「%~~%」の「%」はどのような意味があるのでしょうか。
環境変数の展開を意味します。
https://www.pg-fl.jp/program/dos/doscmd/str_perc …
OSのAPIで簡単に展開できるので…。
http://d.hatena.ne.jp/cjohn/touch/20081210/12289 …
No.4
- 回答日時:
例えば、tomcatというWebServerはJSPというWebpageをコンパイルするために
Javac.exeを使用します(Windowsの場合)
tomatはJavacは%JAVA_HOME\bin\に有るものを起動します。
要するにサーバ系のソフト等が、JDKのコマンドの場所を知るのに
使うのです。PATHとは直接関係有りません。
No.3
- 回答日時:
%JAVA_HOME% と'%'で囲んでおくと環境変数が設定されていないときに
'%%'となるので、Java環境がインストールされているか否かの判別に
使用されます。
No.2
- 回答日時:
>書き方が統一され、認識されるもの
書き方を統一する事でアップデート等があった際、『C:\Users\●●\Desktop\●●』みたいな状態では
どこにインストされているのか探し回らないといけない。
でも『%JAVA_HOME%』と代名しておけば、そこからC:\~と導き出せるので手間がかからない。
めぐみん_さん、回答有難う御座います。
「%~~%」で囲む、または囲まれるのは、OSは囲まれた文字をPATHとしてどのように認識する
のでしょうか?
「%~~%」はどのようなの意味を持つのでしょうか。
No.1
- 回答日時:
JAVA_HOMEという名前の環境変数があるからです。
JAVA_HOMEという名前の環境変数が設定されていなければ、値にいくら%JAVA_HOME%と記述しても動作しません。
んで、色んなミドルウェアがある中で、JAVA_HOMEという名称はJavaがインストールされているパスの認識としてよく利用される名前です。
よって、環境変数JAVA_HOMEを設定した方がハマる要因は減ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleログインボタンのデザイ...
-
googleスプレッドシートのスク...
-
jdbcでinsert,delete,createをe...
-
プログラミングの問題です。大...
-
配列にnullを代入すると、null...
-
JDONWROADER2のエラー修復
-
スプレッドシートからリマイン...
-
googleスプレッドシートのGASに...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
ゲーム開発の入門書を探しています
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『javax.mail.*』が見つかりま...
-
JDKのインストールが動作しない...
-
Java 指定されたパスが見つかり...
-
複数のJDKを同一マシンに共存さ...
-
内部コマンドまたは外部コマン...
-
eclipseについて
-
「%CATALINA_HOME%」とはどこの...
-
TOMCAT サービス登録時のシステ...
-
javaプログラムを動かす時のコ...
-
javaの開発環境について
-
コマンドプロンプトでjavaのバ...
-
パスについて
-
'javac' は、内部コマンドまた...
-
Strutsの設定エラーについて
-
jarについて
-
TomcatとJDKについて
-
コマンドプロンプトのトラブル
-
Javaの環境設定(JAVA_HOME, cl...
-
JavaのHello Worldについて
-
java apret
おすすめ情報
回答有難う御座います。
ちなみに「%~~%」の「%」はどのような意味があるのでしょうか。