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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトでjavaのバ...
-
Java 指定されたパスが見つかり...
-
「%CATALINA_HOME%」とはどこの...
-
複数のJDKを同一マシンに共存さ...
-
Eclipseで、プロジェクト名のと...
-
split関数で区切り文字がない場合
-
html上で、バッチやexeファイル...
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
Eclipseのアンインストールの仕方
-
eclipseでスタックサイズを変更...
-
エラー:org.springframeworkが...
-
org.xml.sax.SAXParseException...
-
正しいURL指定しているにもかか...
-
SVFの設定について:クラスパス...
-
「リソース(app.dicon)が見つか...
-
JAVAにのeclipseに関する質問で...
-
シンボルが見つかりませんとい...
-
eclipse でclassesフォルダーが...
-
JSPで意味不明のコンパイルエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java 指定されたパスが見つかり...
-
『javax.mail.*』が見つかりま...
-
JDKのインストールが動作しない...
-
eclipseについて
-
複数のJDKを同一マシンに共存さ...
-
cygwinでのjavaプログラムの使...
-
「%CATALINA_HOME%」とはどこの...
-
'javac' は、内部コマンドまた...
-
コマンドプロンプトでjavaのバ...
-
環境変数JAVA_HOMEとPATHの違い
-
エクリプスがうまく使えません。
-
Javaの環境設定(JAVA_HOME, cl...
-
JAVAのインストールができ...
-
javacと打つとgcj: no input fi...
-
javaのPathの設定
-
Strutsの設定エラーについて
-
jarについて
-
JDKの使い方がわかりません
-
Javaのインストールの仕方
-
TOMCATインストール後、コンパ...
おすすめ情報
回答有難う御座います。
ちなみに「%~~%」の「%」はどのような意味があるのでしょうか。