Java アプリケーションの実行時には、使用されるクラスのバイトをメモリにロードする必要があるため、バイトコード ファイルの場所には特定の要件があり、一般に次の 4 つの状況に分類されます。
1. 現在のアプリケーションが存在するディレクトリで、パッケージ名のないクラスを使用します。
現在のアプリケーションが配置されているディレクトリにパッケージ名がないクラスは、直接ロードして使用できます。
2. Java ランタイム環境でクラス ライブラリのクラスを使用します。
Java 実行環境によって提供されるクラス ライブラリ内のクラスにはすべてパッケージ名があり、アプリケーションは import ステートメントを使用して、対応するパッケージ内のクラスを導入する必要があります。
3. アプリケーションの現在のディレクトリの子孫であるディレクトリのクラスを使用します。
アプリケーションの現在のディレクトリの下にある子孫ディレクトリは、ユーザー定義パッケージのパッケージ名として使用できます。このパッケージ名のクラスは、これらの子孫ディレクトリに格納する必要があります。アプリケーションは、import ステートメントを使用してユーザーにクラスを導入できます。 -定義されたパッケージ。
4. Java ランタイム環境拡張機能のクラスを使用します。
jar.exe コマンドを使用して、一部のクラスのバイトコード ファイルを jar ファイルに圧縮し、その jar ファイルを Java ランタイム環境の拡張子に保存します。つまり、jar ファイルを jrelibext に保存します。これにより、Java アプリケーションはこの jar ファイル内のクラスを使用してオブジェクトを作成できます。
パッケージ名のクラス
次の TestOne クラスと TestTwo クラスのパッケージ名は、moon.star であると仮定します。
テストワン.java
packagemoon.star;//パッケージステートメント publicclassTestOne{publicvoidfTestOne(){System.out.println(IamamethodInTestOneclass);}}
テストツー.java
packagemoon.star;//パッケージステートメント publicclassTestTwo{publicvoidfTestTwo(){System.out.println(IamamethodInTestTwoclass);}}
TestOne.java と TestTwo.java を C:1000moonstar ディレクトリに保存し、このディレクトリに入って 2 つのソース ファイルをそれぞれコンパイルします。
ここで、C:1000moonstar ディレクトリにある TestOne.class と TestTwo.class を jar ファイル Jerry.jar に圧縮します。
まず、マニフェスト ファイル hello.mf (Manifestfiles) を作成します。
こんにちは。MF
マニフェスト バージョン:1.0クラス:moon.star.TestOnemoon.star.TestTwo作成者:1.6
hello.mf を C:1000 ディレクトリに保存します。jar コマンドを使用して jar ファイルを生成するには、まず C:1000 ディレクトリ、つまりパッケージ名の上のディレクトリに入力する必要があります。 jar コマンドを使用して、Jerry.jar という名前のファイルを生成します。
C:1000>jarcfmJerry.jarhello.mfmoonstarTestOne.classmoonstarTestTwo.class
C:1000moonstar に TestOne.class と TestTwo.class の 2 つのバイトコード ファイルしかない場合は、jar コマンドを使用することもできます。
C:1000>jarcfmJerry.jarhello.mfmoonstar*.class
最後に、jar コマンドによって生成された C:1000 ディレクトリの Jerry.jar ファイルを Java ランタイム環境の拡張子にコピーします。つまり、Jerry.jar ファイルを JDK インストールの jrelibext フォルダに保存します。ディレクトリ。
パッケージ名のないクラス
TestOne クラスと TestTwo クラスにパッケージ名がない場合は、TestOne.java と TestTwo.java を C:1000 に保存し、バイトコード ファイルをコンパイルします。マニフェスト ファイルを作成して C:1000 に保存し、C:1000 ディレクトリに入り、jar コマンドを使用します。
C:1000>jarcfmJerry.jarhello.mfTestOne.classTestTwo.class
C:1000 に TestOne.class と TestTwo.class の 2 つのバイトコード ファイルしかない場合は、jar コマンドを使用することもできます。
C:1000>jarcfmJerry.jarhello.mf*.class
最後に、jar コマンドによって生成された C:1000 ディレクトリの Jerry.jar ファイルを、JDK インストール ディレクトリの jrelibext フォルダにコピーします。アプリケーションは、Jerry.jar ファイル内の TestOne.class および TestTwo を直接使用できます。 。 。クラス。