超初心者の僕にどうか教えてください。つい最近JDKを入手したのですが、最初のディレクトリを開いたときにある、bin,demo,include,include-old,jre,libのディレクトリはそれぞれ何を表すのでしょうか・・・

それと、CLASSPATHというのはデフォルトでは、どこに設定されているのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

JDKのディレクトリのREADMEファイルを読めばわかりますが、その中の抜粋をしたに書きます。



c:\jdk1.3
SDK ソフトウェアがインストールされるルートディレクトリです。著作権、ライセンス、README ファイルが含まれます。また、Java 2 プラットフォームのソースコードのアーカイブである src.jar も含まれています。
c:\jdk1.3\bin
Java Development Kit (JDK) に含まれる開発ツールの実行ファイル用ディレクトリです。PATH 環境変数には、このディレクトリのエントリを含めなければなりません。ツールの詳細は、「Java 2 SDK ツールとユーティリティ」を参照してください。

c:\jdk1.3\lib
開発ツールが使用するファイル用のディレクトリです。SDK のツールとユーティリティをサポートする、コア以外のクラスのファイルである tools.jar が含まれます。また、このディレクトリには、BeanInfo ファイル群の DesignTime アーカイブ、dt.jar も含まれます。 BeanInfo ファイルは、対話型開発環境 (IDE) に対し、Java コンポーネントの表示方法や、開発者が環境をアプリケーションに合わせてカスタマイズする方法を通知するためのものです。

c:\jdk1.3\jre
SDK 開発ツールが使用する Java Runtime Environment のルートディレクトリです。Runtime Environment は Java 2 プラットフォームの実装です。これは、java.home システム・プロパティにより指定されるディレクトリです。

c:\jdk1.3\demo
ソースコード付きのサンプルファイルです。 Java プラットフォーム用のプログラミング方法を示します。

c:\jdk1.3\include
Java Native Interface と Java Virtual Machine Debugger Interface (JVMDI) を使ってネイティブコードのプログラミングをサポートする、C 言語のヘッダファイルです。

c:\jdk1.3\include-old
従来のインタフェースを使ったネイティブコードのプログラミングをサポートする、ヘッダファイルです。これらのヘッダファイルは、旧バージョンとの互換性のためだけに提供されています。これらのインタフェースの使用は推奨されておらず、サポート対象外で、すべての Java Virtual Machine で利用できるわけではありません。

CLASSPATHは、自分で設定しないとだめですよ。 で、設定方法は、OSの違いによって設定が異なるから、一概にはいえません。
    • good
    • 0
この回答へのお礼

むっむずかしい・・・。でもご丁寧にありがとうございます。

お礼日時:2001/06/22 20:39

■JDKのディレクトリ構成


下記のURLのJDKのドキュメントをみてください。

■CLASSPATHについて
JAVA_HOMEの設定があるのが前提で、
□環境変数CLASSPATHの設定がない場合
カレントディレクトリとJAVA_HOME/jre/lib/extが検索対象になっています。
□環境変数CLASSPATHの設定がある場合
CLASSPTHに設定されているPATHとJAVA_HOME/jre/lib/extが検索対象になっています。
ここで、注意してほしいのは、CLASSPATHの設定がある場合、カレントディレクトリが検索対象から抜けるということです。カレントディレクトリにあるclassを実行しようとしても動きません。カレントディレクトリのものを対象にしておきたい場合は、CLASSPATHに明示的に「.」を設定してやる必要があります。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs …
    • good
    • 0
この回答へのお礼

親切にありがとうございました。

お礼日時:2001/06/22 20:42

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

QJava-Tomcatのみをjre 1.5で起動して標準のJavaアプリはjre1,4を利用したいです。

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです ...

Java~標準で利用するのはjre1.4でTomCatの起動のみを jre1.5 で起動したいです が可能でしょうか?

Tomcatってjre バージョン1.4では動作しないのでしょうか?
Tomcatをインストール時のウィザードで jre1.5インストールしないと Next できないのですが、1.5は標準利用したくありません・・
TomCatのみをjreバージョン1.5で起動させて、その他で利用するJavaアプリはバージョン1.4で利用したのですが 方法がわかりません。初歩的質問ですみません。。お詳しい方 方法教えて下さい。。ネットで調べるとBatファイルで一時的に実行アプリの環境変数を設定できると書いていたのですが・・・ お願いします。
--環境--
Windows XP SP2
Tomcat5.0
Eclipse3.0.1

Aベストアンサー

そもそもTomcat5.0は1.4以上対応のはずですが。
5.5系の話でしょうか?

5.5系の話として。
インストール後にモニターでJVMとCLASSPATHの設定を個別に行うことができるので、標準はJRE1.4で、Tomcatだけ1.5という用法は可能です。

Qjdkとjreの互換性について

PCのWebブラウザからJAVAアプレットを使用しています。

jdk1.4でコンパイルしていたソースをjdk1.5でコンパイルしてjre1.4で使用したところ、
ランタイムエラーが表示されてしまいました。

jdk1.5でコンパイルした実行ファイルをjre1.4とjre1.5の両方で使用することは可能なのでしょうか?

宜しくお願いします。

Aベストアンサー

JDK 1.5でコンパイルする際、「java -target 1.4 ××.java」というようにクロスコンパイルオプションを指定してみてください。これで1.4のバイナリ互換としてコンパイルされますので、ソースに問題がなければ1.4~1.5で動作するはずです。確認してみてください。
 JDK 1.5は、それ以前と互換性の面でかなりいろいろとあるようです。それ以前のバージョンのJREでの動作を考えている場合は注意した方がいいようですね。

参考URL:http://java.sun.com/j2se/1.5.0/ja/compatibility.html

QJRE1.3.1_06とJRE1.3.1_07のPC内 共存方法

知人の相談なのですが
自治体の電子入札システムで
川崎市の入札画面に入るにはJRE1.3.1_06必須(以下06)
神奈川県入札画面に入るにはJRE1.3.1_07必須(以下07)

入札担当者に聞いたところPC内共存は できないので
神奈川入札時は06削除で07インストール
川崎入札時は07削除で06インストール。という回答。

削除はコントロールパネルからです
削除&インストール&設定は1分もあればOKなのですが

「こんな面倒くさいこと、いちいち やってられない
削除&インストールしなくて すむ方法ないものか?」と
相談持ちかけられました。

はたして PC内でバージョン違いのJava共存はできるのでしょうか?
06 07削除インストールしなくても、各自治体入札画面に
入っていけるように したいのです。

お願いいたします。

Aベストアンサー

件の入札システムを使用したことがないので確実なことはいえませんが…

まずインストール場所は個別に指定できるので両バージョンとも共存できます。
両バージョンの使い分けは環境変数PATHの設定のみです。環境変数はユーザごとにカスタマイズできるので、
川崎市のシステムを使うアカウントと神奈川県のシステムをつかうアカウントを別々に作成しておく、
環境変数を書き換えるバッチを作るなど、手段はいろいろあると思います。

QJ2SE?,JRE??,SDK???

こんばんわ。

あるアプリケーションをインストールする条件として、マニュアルに「J2SE 1,4,2」がインストールされていることと書かれていました。そこで、これを取得しようとダウンロードページに行ったのですが、
(1)J2EE SDK
(2)J2SE SDK
(3)J2SE JRE
と色々とあり、これらの違いがわかりません。
詳しい方、教えていただけませんでしょうか?

宜しくお願いします。

Aベストアンサー

#2です。

> ということは、javaのソースをコンパイルするためには、「J2SE JRE」ではなく「J2SE SDK」が必要ということですよね?

その通りです。
ソースをコンパイルするためには、開発キット(SDK)が必要になります。開発を行いたいのであれば、SDKをダウンロードするようにしましょう。

参考URL:http://java.sun.com/j2se/1.4.2/ja/download.html

QJDK1.1.7 と JDK1.3.1 の違い。。。

はじめて質問いたします。
現在、JDK1.1.7 で開発したアプレットがあるのですが、
この中で、java.awt.Choice を未選択状態にする為に select(-1); 
としている個所があります。
このアプレットをJavaPlug-in1.3.1 を使用して実行すると、IllegalArgumentException
が発生してしまいます。

そこで、1.1.7 と 1.3.1 のソースコードを比べてみると、確かに、1.3.1 では、
select(-1) は認めていないようです。

--- JDK1.1.7 の java.awt.Choice の実装 --->

public void select(int pos) {
  if (pos >= pItems.size()) {
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.1.7 ---

--- JDK1.3.1 の java.awt.Choice の実装 --->

public synchronized void select(int pos) {
  if ((pos >= pItems.size()) || (pos < 0)) {     <--- 違いはここだけ。。。
    throw new IllegalArgumentException("illegal Choice item position: " + pos);
  }
    :
    :
}
<--- JDK1.3.1 ---

う~ん、まさしく、-1 を拒否していますね。

何故、このような実装の違いが出ているのでしょうか?
(私的には、Java2開発者の気まぐれなのではと考えてしまいます。。)

また、このアプレットを最小限の修正で1.3.1 でも正常に動作するようにしたいの
ですが、1.3.1 の java.awt.Choice では未選択状態にする事は不可能なのでしょうか?

ご存知の方がおられましたら、是非、お教え頂きたいと思います。
よろしくお願い致します。

はじめて質問いたします。
現在、JDK1.1.7 で開発したアプレットがあるのですが、
この中で、java.awt.Choice を未選択状態にする為に select(-1); 
としている個所があります。
このアプレットをJavaPlug-in1.3.1 を使用して実行すると、IllegalArgumentException
が発生してしまいます。

そこで、1.1.7 と 1.3.1 のソースコードを比べてみると、確かに、1.3.1 では、
select(-1) は認めていないようです。

--- JDK1.1.7 の java.awt.Choice の実装 --->

public void select(int pos) {
  if...続きを読む

Aベストアンサー

バージョン1.1.xのAPI仕様を見ても、select(-1)で未選択状態に出来るとは書いてないんですよね…… だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。

API仕様では、バージョン1.1でも1.3でも例外キャストの条件が「指定された位置が無効な場合」となっていて、具体的な数字が出てこないのでかなりあいまいな表現ですが、それでも引数に-1を渡したら普通は例外になると考えるのが自然です。

いずれにせよ、バージョン1.3のAPI仕様を見る限り、未選択状態に関することは載っていないので、あとから未選択状態になるように仕向けるのはあきらめたほうが良いと思われます。ほかに上のような裏技があったとしても、将来の実装が変更されないとは言い切れません。

提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。未選択状態にする目的がかかれてないので、なんともいえませんが。


人気Q&Aランキング

おすすめ情報