すべてのサードパーティ ライブラリを c:\java\lib に配置するのが好きです。そうすれば、c:\java にある JRE および JDK からそれらを分離しておくことができます。これは厳密に必要というわけではありませんが、整理しておくと便利です。興味のあるライブラリを使用するための具体的な手順を次に示します。
に抽出jexcelapi_2_6_12.zip
しc:\java\lib\
ます。
これは、次のファイルが存在することを意味するはずです: C:\java\lib\jexcelapi\jxl.jar
.
c:\java\work
分けておくために、とりあえずコードを入れましょう。c:\java\work\MyClass.java
テキスト エディタを使用してファイルを作成します。
import jxl.CellView;
public class MyClass {
public static void main(String[] args) {
System.out.println("I can access " + CellView.class);
}
}
コマンド プロンプトを開き、ディレクトリを c:\java\work に変更します。
cd /d c:\java\work
クラスをコンパイルします。
javac -classpath ..\lib\jexcelapi\jxl.jar MyClass.java
エラーが発生しない場合、ディレクトリMyClass.class
にはコンパイル済みプログラムである新しいファイルが含まれているはずです。
エラーが表示された場合:
「javac」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。次に、javac.exe へのフル パスを指定できます。次の例では、c:\java\jdk1.6.0_37 に JDK があることを前提としていますが、これはシステムに当てはまる場合とそうでない場合があります。
c:\java\jdk1.6.0_37\bin\javac -classpath ..\lib\jexcelapi\jxl.jar MyClass.java
コンパイルしたプログラムを実行します。
C:\java\work>java -classpath ..\lib\jexcelapi\jxl.jar;. MyClass
出力:
クラス jxl.CellView にアクセスできます
java
クラスパスの末尾にあるセミコロンとドットに注目してください。これにより、現在のディレクトリがクラスパスに追加され、Java が MyClass.class を検出できるようになります。では必要ありませんでしたjavac
。
ディレクトリのみを含む必要があるとは異なりPATH
、java CLASSPATH
(または-classpath
) にはファイルとディレクトリの両方を含めることができます。ファイルがクラスパスに表示される場合、それは JAR である必要があります。JAR は単なる zip ファイルであるため、クラスパスに ZIP ファイルが表示されることもあります。これは非標準ですが、機能します。Java は .zip ファイルを .jar として扱います。プログラムに 2 つ目のライブラリを追加する必要がある場合は、ファイルをセミコロン (Windows) またはコロン (*nix) で区切ります。
javac -classpath ..\lib\jexcelapi\jxl.jar;..\lib\lib-2.0\lib-2.0.jar MyClass.java
ライブラリが複数の jar ファイルで構成される場合があります。この場合、ライブラリの一部であるすべての JAR ファイルをクラスパスに追加する必要があります。繰り返しますが、セミコロンで区切ります。これが面倒だと思われる場合は、人々がコマンド ライン コマンドではなく、IDE や Ant を使用して Java を操作することを好む理由がわかります。
パッケージの使用、コマンドライン引数を使用する代わりに環境変数 CLASSPATH を使用してクラスパスを設定する-classpath
、JDK bin ディレクトリを PATH に追加する、クラスパスに複数のエントリを追加する、シェルスクリプトを作成してプログラムの再構築と再実行を容易にし、開発には IDE を使用し、ビルドには Maven/Ant を使用し、独自の JAR を作成します... 学ぶべきことのリストは延々と続きます。この投稿は、ベスト プラクティスを示すことを意図したものではなく、すぐに使い始めることを目的としています。Java 開発環境を改善し続けるために、インターネットに掲載されている Oracle のドキュメントやその他のベスト プラクティスに従ってください。
さらに、これらのクラスはアプレットにバンドルされますか?
あなたのプログラムが最終的にアプレットになるのであれば、そうです、jxl.jar をあなたのプログラムと一緒に配布する必要があります。 . ここでは、アプレットの作成方法については説明しません。ウェブ上にはたくさんのリソースがあります。Google で検索して、遭遇した問題についてより具体的な質問をしてください。
Java プログラムをコンパイルすると、そのファイルの受信者は、実行しているマシンにこの特定のパッケージがインストールされていなくても、それを実行できますか?
jxl ライブラリは、プログラムにコンパイルされません。プログラムと一緒に、何らかの方法で jxl ライブラリをユーザーに配布する必要があります。ほとんどの重要なプログラムは複数の Java クラスで構成されているため、おそらくプログラムを JAR にバンドルする必要があります。これは、プログラムが複数の .class ファイルで構成されることを意味します。この問題にアプローチする方法はいくつかあります。アプレットの作成方法に関するリソースを読んでから、より具体的な質問でスタックオーバーフローに戻ってください。