私はorg.w3c.dom.Documentをインポートするファイルを持っています。コンパイルと実行はうまくいきますが、このパッケージをどこに見つけたらいいのか分かりません。どのように動作するのか不思議です。私はlocateコマンドを使ってorg.w3c.domを見つけましたが、何も得られません。これらのパッケージはどこにありますか?私の検索結果はCLASSPATH環境変数を示唆しているようです。これは正しいです?いずれにしても、CLASSPATH変数がどのようになっているかを知る方法はわかりません。私のシェルが知っている環境変数ではないようです。java:インポート、クラスパス、およびパッケージ
答えて
これはコアライブラリの一部(rt.jar
)なので、Java JREをインストールした場所はどこにでもあります。具体的には$JAVA_HOME/jre/lib
jar
コマンドを使用して.jar
ファイルを見ることができます。
jar tvf rt.jar
このクラスには、そのjarのすべてのクラスがリストされています。
この場所は、JVMによって自動的に検索されるため、CLASS_PATH環境変数には不要であることも、含まれていないことに注意してください。 (あなたはそれを追加することができますが、それは単に冗長になる)明確にするため
編集:
JVMはデフォルトで<Where_you_installed_jdk>/jre/lib
と<Where_you_installed_jdk>/jre/lib/ext
が含まれています。それ以外のものは、-cp
オプションを使用してjavaに直接渡すか、CLASS_PATH
環境変数に追加するかのいずれかを使用して明示的に追加する必要があります。
のrelaventドキュメントはで見つけることができます:http://download.oracle.com/javase/6/docs/technotes/tools/findingclasses.html
JVMは、必要なパッケージへのalllパスが設定されているクラスパス設定を使用してクラスを見つけます。クラスパスは、いくつかの方法で設定できます。あなたが最初に言及したのはCLASSPATH環境変数です。オプションであり、設定を解除することができます。 2番目の方法は、 "java"実行可能ファイルの明示的なオプション "-cp"です。
また、いくつかのJREランタイム・ジャーがデフォルトで暗黙的にクラスパスに追加されるため、標準パッケージを自分で検索して追加する必要はありません(特にあなたの質問に記載したもの)。
は独自のディレクトリから
javac -d ..\..\. -cp ..\..\. messconvener.java
-dをこのようなmessconvener.javaをコンパイルしてみてください - あなたのパッケージのためのディレクトリ構造を作成し
-cp - ユーザー定義クラスを見つけることができるユーザーファイルのクラスパスを提供します。
- 1. Mail.jarおよびmysql-connector-java-5.1.13-bin.jarクラスパス
- 2. Javaコンパイル、パッケージ、および相対パス
- 3. Tomcat 7およびJava EE 6.0 javax.annotation.sqlパッケージ
- 4. JARクラスパスおよび外部のjarファイル
- 5. JavaおよびHTTPSでインポートされた秘密鍵の問題
- 6. Java RTFのインポート、編集、およびエクスポートは可能ですか?
- 7. ドラッグおよびJava
- 8. JavaおよびUseLargePages
- 9. JavaアクティビティサービスクラスおよびJavaアクティビティアプリケーションクラス
- 10. Java OSxでのパッケージのインポート
- 11. MSBuild、プロパティ、およびインポートされたファイル
- 12. のNSLogのインポートおよびライブラリ
- 13. 継承およびJava
- 14. Java、unicode、およびfont
- 15. クラス、オブジェクト、およびメソッド。 Java
- 16. リフレクション、継承、およびJava
- 17. AndroidおよびJavaのTimeZone.getAvailableIDs
- 18. AESのJavaScriptおよびJava
- 19. JavaでSHAおよびテストツール
- 20. JSP、JavaScript、およびJavaオブジェクト
- 21. J2SEおよびJava DB
- 22. のJava(インタフェースおよびクラス)
- 23. プロシージャ・パッケージおよびパッケージ本体の変更PL/SQL
- 24. スイング、Javaおよびマルチスレッド、および着色ボタン
- 25. spring rmi java 1.4およびjava 1.5
- 26. Javaクラスパス
- 27. Nuget、カスタムパッケージソース、および重複したパッケージ名/バージョンによる自動パッケージ復元
- 28. Java - 外部パッケージをインポートするには?
- 29. Javaパッケージ/クラスパスの設定に問題があります
- 30. Javaのxmlおよびプロパティファイルのカスタムキャッシュ?
私の意見は、とにかくCLASSPATH環境変数を使うのは悪い考えです。 -classpathパラメータをjavaまたはjavacのどちらかに渡す方が良い方法です。 – MeBigFatGuy