• ベストアンサー

mac(osX)で、Javaはどこにインストールされている?

今Javaの参考書を買ってきたのですが、 サンプルライブラリを 「c:\ProgramFiles\Java\jdk1.6.0_01\jre\lib\ext」と 「c:\ProgramFiles\Java\jre1.6.0_01\lib\ext」に保存と書いてあります。 osXでは標準でjavaが入っていたのですが、もともとそのjavaがどこにインストールされているのかが分かりません。 macではProgramFilesというフォルダも無いので、辿りようが無いな~と困っています。 上記のフォルダがどこにあるのか、分かる方教えてください!

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.1

Mac OS Xの場合、JDKがインストールされている場所は、/System/Library/Framework/JavaVM.framework/内になります。この中に、Classes、Home、Libraries、Resources、Versionsといったディレクトリがあり、それらにそれぞれ必要なファイル類がまとめられています。これは、WindowsなどのJDKのファイル構成とはまったく違いますので、一般のJDKの構成などを参考にしても無意味です。また、ここはSystem下にありますから、これらのディレクトリにファイルを入れたりすることは禁止されています。 ユーザがライブラリなどを追加する場合には、/Library/Java/Extensions/を利用します。これが、通常のJDKのlib/extフォルダに相当するものと考えてください。 ちなみに、これらについてはアップルの開発者向けドキュメントを読んでおくとよいでしょう。 http://developer.apple.com/jp/qa/qa2001/qa1170.html

参考URL:
http://developer.apple.com/jp/qa/qa2001/qa1170.html
hakase-chan
質問者

補足

早速のご回答ありがとうございます!! ご回答を頂く直前に ターミナルからサンプルファイル(xxx.jar)を /Library/Java/Home/lib/ext/ にcpしちゃったんですけど、やっぱり/Library/Java/Extensions/の方がいいんですかね? 解説本にあった「~~/lib/ext/」と被っているフォルダ名を見付けてしまったのでつい。。。 GUIでコピペしようとするとNGになったのでCUIで操作したのですが、GUIでNGが出るようなところにファイルを置くのはそもそも危険ですよね。

関連するQ&A

  • Mac、Javaのライブラリ追加場所がわかりません

    Javaの参考書を見ながら勉強を始めたのですが、サンプルライブラリ「dodai.jar」を 「c:\ProgramFiles\Java\jdk1.6.0_01\jre\lib\ext」と 「c:\ProgramFiles\Java\jre1.6.0_01\lib\ext」に保存と書いてあります。 http://developer.apple.com/jp/qa/qa2001/qa1170.html を見るとMacでは 「~Library/java/Extensions/」配下に置くと説明されていました。 そこで、「dodai.jar」を「~Library/java/Extensions/」配下にコピーしましたが、 参考書の説明では2つのディレクトリにそれぞれコピーとなっています。 自分の理解で正しいのでしょうか? 宜しくお願いいたします。 ・現状の開発環境 MacOS10.6.8 java version 1.6.0_26 Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode) ・参考にしている参考書 「アプリ作成でやさしく身につく徹底入門 新基準Javaプログラミング」

    • ベストアンサー
    • Java
  • 【javaコンパイル時のエラーに関して】 「クラスファイルの不正」というエラー

    今macでJavaの勉強をしています。 ただ、コンパイル時に下記のようなエラーが出てしまうので、解決方法を教えて下さい! ---------------------------- javac sample.java というコマンドを打つと、 ↓↓↓↓↓ sample.java:21: Dodai にアクセスできません。 クラスファイル /Library/Java/Extensions/dodai.jar(Dodai.class) は不正です。 クラスファイルのバージョン 50.0 は不正です。49.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 Dodai fusen01 = new Dodai(); ^ エラー 1 個 ---------------------------- というエラーになります。 dodai.jarというのは、本に付いていたサンプルのjarファイルで、 保存場所は 「c:\ProgramFiles\Java\jdk1.6.0_01\jre\lib\ext」と 「c:\ProgramFiles\Java\jre1.6.0_01\lib\ext」に保存するよう書かれてました。 (私のPCがmacなので、/Library/Java/Extensions/に保存してます。) また、本の解説では「JDK6u1」をインストールするように書かれてました。 エラーの原因はjavaのバージョンが違うのかな?と思い、このサイトを参考にして javac -J-version というコマンドを打ってみたところ、 ---------- java version "1.5.0_07" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164 ---------- というメッセージが流れ、また、 java -version というコマンドも打ってみたところ、上記と同じメッセージが流れました。 これはやはり、サンプルのdodai.jarファイルのバージョンが1.6であるのに、 私のPCのjavaのバージョンが1.5だからエラーが出ているという事でしょうか?(macではデフォルトでjavaが入っているので、そのまま使ってます。) また、そうである場合、どのようにすれば上記のエラーは解消されるのでしょうか? 教えて下さい!

    • ベストアンサー
    • Java
  • Java JDk1.6.0_19で 外部ライブラリを使う方法を教えてく

    Java JDk1.6.0_19で 外部ライブラリを使う方法を教えてください。 1.6.0_01では、 (1) …jdk1.6.0_01\jre\lib\ext (2) …jdk1.6.0_01\lib\ext 上記2か所だったはずなのですが、_19では、(2)のフォルダがありません。 (1)だけでは、不足のようです。 外部ライブラリのクラスを認識できないようで、 コンパイル時に、エラーがでます。 宜しくお願い致します。

  • 外部クラスライブラリをインストールして使用する方法

    外部クラスライブラリをインストールして使用するためには・・・ C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext と C:\Program Files\Java\jre6\lib\ext にjarファイルを置かないといけませんよね? それ以外にもなにか必要ですか? 教材を見ながらJavaの勉強をしているのですが 外部クラスライブラリを利用するプログラムをコンパイルしようとすると c:\JavaGOGO\Sample3-1>javac FusenExec.java エラー:C:\Program Files\Java\jdk1.6.0_37\jre\lib\ext\dodai.jar の読み込みエラー です。cannot read zip file FusenExec.java:3: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス Dodai fusen; ^ FusenExec.java:4: シンボルを見つけられません。 シンボル: クラス Dodai 場所 : FusenExec の クラス fusen = new Dodai(); ^ エラー 3 個 このようなメッセージが表示されエラーが起きます。 使おうとしているのはDodaiライブラリのクラスなのですが なにが原因でコンパイルエラーが起きるのでしょうか(>_<)

    • ベストアンサー
    • Java
  • C言語からjavaを呼び出したい

    C言語からjavaを呼び出したいのでjniを使うことにしました。 各言語のソースはWebで見つけたサンプルを見ながら何とか作成し、各々コンパイルまで終わったのですが、javaのオブジェクト(?)をどこに置いたら良いのかさっぱりわかりません。 java使いの人達には常識の話だと思いますがjavaはサーブレットしか作ったことが無くどうしたものかと困っています。 分からないのは次の2点です。 1.classファイルのままでも良いのかjarにしないといけないのか? 2.どこに設置したら良いのか? これまでやったこと 1.javaのソースを作成しコンパイルしました(classファイルのままです) 2./etc/profileに次のコマンドを追加しました。 LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/java/jdk1.7.0_03/jre/lib/amd64/server export LD_LIBRARY_PATH 3.C言語のソースを次のコマンドでコンパイルしました。 % gcc -I/usr/java/jdk1.7.0_03/include/ -I/usr/java/jdk1.7.0_03/include/linux -L/usr/java/jdk1.7.0_03/jre/lib/amd64/server -ljvm -lpthread jnitest.c -o jnitest 4.javaモジュールの設置←これがわかりません 初歩的な質問で申し訳ありませんがご教示下さい。

    • ベストアンサー
    • Java
  • XML.XSLT

    自分で解決ができないので、少し聞かせてください。 質問は、XMLを利用して、XSLTの出力です。 まずは、サンプルでの実装を確認しようと思いまして、 http://www.hellohiro.com/xslt.htm のサイト利用させていただいております。 それで、サイトの説明通り、 http://java.sun.com/xml/downloads/javaxmlpack.html から、java_xml_pack-summer02_01.zipをダウンロードして、xalan.jar、jaxp-api.jar、dom.jar、sax.jar、xercesImpl.jarを配置しました。配置内容は、まず、 C:\jdk1.3\jre\lib\ext に配置しました。そして、サーバアプリは、JRun3.0を使用してますので、C:\Program Files\Allaire\JRun\lib\ext に配置しました。余談になると思うのですが、toolで、forte for java2.0を使っているので、C:\forte4j\lib\extにも配置しました。そして、上記サイトの下方の「サーブレットを利用しての表示」のコードをコンパイルは成功したのですが、ブラウザからの呼び出しでは、真っ白な表示になってしまいます。 自分では、CLASSPATHに問題があるのでは?と思い、いろいろ試したのですがダメです。ちなみに、autoexec.batには、 SET PATH=c:\jdk1.3\bin;%PATH% SET CLASSPATH=.;C:\jdk1.3\jre\lib\ext\xalan.jar;C:\jdk1.3\jre\lib\ext\jaxp-api.jar;C:\jdk1.3\jre\lib\ext\sax.jar;C:\jdk1.3\jre\lib\ext\domjar としています。 どこの設定が間違っているのか、助言をください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • java3Dについておききします

    javaのバージョンは1.6.0_27です 困ってる内容は現在javaSDをEclipse3.5で使おうとjavaSDをインストールしてネットで調べながらやってますがうまくいいかないです いまどうなってるか画像をみて欲しいです 上手く言ってない理由はこのようなエラーが返ってなかなかすすみません 説明 リソース パス ロケーション 型 アクセス制限: 型 BranchGroup は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 31 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 SimpleUniverse は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dutils.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 28 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 Transform3D は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 37 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 TransformGroup は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 34 Java 問題 //****************************************************************************** //Java3D とりあえず動作確認するプログラム //カラーキューブ回転 //****************************************************************************** //============================================================================== //インポート・ファイル import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*; import java.util.Timer; public class Java3D_first_test { //============================================================================= //クラスのフィールド //仮想空間全体 SimpleUniverse universe; //オブジェクトのためのグループ BranchGroup group1; //オブジェクトの座標変換のためのグループ TransformGroup transform_group1; //オブジェクトの座標変換のためのクラス Transform3D transform1; //回転角を管理 float rot_value; //============================================================================= //メイン・メソッド public static void main(String[] args) { Java3D_first_test test = new Java3D_first_test(); } } javaSDのライブラリはインポート文はエラー返ってないですが・・・ お優しくお願いします。なにが原因かわからずじまいな状態です

    • ベストアンサー
    • Java
  • JAVAのプログラムについての質問です。

    JAVAのプログラムについての質問です。 技術系の学生です。今、卒業研究でJAVAで音声を再生するプログラムを作成しているのですが、調べても解決できないエラーがあったため質問させていただきました。以下にソースコードを示します。 package Sound; import javax.media.*; import java.io.File; import java.net.URL; import java.io.FileNotFoundException; public class Soundonly { public static void main(final String[] args) { try { File f = new File(args[0]); URL url = f.toURL(); Player p = Manager.createRealizedPlayer(url); p.start(); } catch (FileNotFoundException e) { // エラー処理 } } } これをコンパイルしようとすると、 この行に複数マーカーがあります - アクセス制限: 型 Player は必須ライブラリー C:\Program Files\Java\jre6\lib\ext \jmf.jar で制限されているためアクセスできません - アクセス制限: 型 Manager は必須ライブラリー C:\Program Files\Java\jre6\lib\ext \jmf.jar で制限されているためアクセスできません - アクセス制限: 型 Manager のメソッド createRealizedPlayer(URL) は必須ライブラリー C: \Program Files\Java\jre6\lib\ext\jmf.jar で制限されているためアクセスできません アクセス制限: 型 Player のメソッド start() は必須ライブラリー C:\Program Files\Java\jre6\lib\ext \jmf.jar で制限されているためアクセスできません とエラーが出て、コンパイルが通りません。JMFはインストール済みです。 どなたか解決法を教えていただけないでしょうか。よろしくお願いします。

    • ベストアンサー
    • Java
  • クラスライブラリのディレクトリについて

    以前(さっき)MySQLのDriverが見つからない ということ(ClassNotFoundException)で質問 させてもらいました。 しかし、この問題は、Driverファイル(jar)を jre1.5.0_03/lib/extにおくことで、解決しました。 ここで疑問なのですが、 クラスライブラリは、一般に(デフォルトでは)、 jdk/jre/lib/extに置くのではないのでしょうか。 また、CLASSPATHに C:\mysql-connector-java-3.1.8-bin.jarと して、Cドライブ直下にDriverを置いたのでは だめなのでしょうか。 よくわからなくなってしまったのですが。 何かわかる人お願いします。

  • javaのインストール

    現在、RedHat Enterprise Linux(ES)にて、 j2sdk1.3.1_03をインストールし、PATHを通したのですが、 Error occurred during initialization of VM Unable to load native library: /usr/java/jdk1.3.1_07/jre/lib/i386/libjava.so: symbol __lib c_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference というエラーが発生して、コンパイルはおろかjavaのversionすら参照できません。 何か情報提供および対策があれば教えていただきたいです。 よろしくお願いいたします。

専門家に質問してみよう