JavaとJavacコマンド
-JavacおよびJavaコマンドラインのクラスパスオプション
これは非常に基本的な質問ですが、基本的に既存のIDEツールを使用してJavaプログラムを開発しているため、これを実現する人はほとんどいません。
Javac
-ClassPath、クラスを検索するパスを設定します。クラスを検索します。これは、ディレクトリ、JARファイル、またはZIPファイル(すべてのクラスファイルが含まれています)であり、ClassPathのすべての設定を上書きします。
-SourcePathは、コンパイルに必要なJavaファイルを検索するパスを設定します。これは、ディレクトリ、JARファイル、またはzipファイル(すべてのJavaファイルが含まれています)です。
したがって、完全なJavacコマンドラインは次のようになるはずです、
abc.javaがパスC:/SRCにあると仮定し、任意のディレクトリでは、次のコマンドを実行してコンパイルすることができます。
javac -classpath c:/classes; c:/jar/abc.jar; c:/zip/abc.zip -sourcepath c:/source/project1/src; c:/source/project2 /lib/src.jar; c:/source/project3/lib/src.zipc:/src/abc.java
つまり、C:/classedの下のクラスファイルが必要であり、C:/jar/abc.jar内のクラスファイル、c:/zip/abc.zip内のクラスファイルも必要です。
注:jar、zipのソースファイルに変更があり、ディレクトリ内のソースファイルが再コンパイルされる場合があります。
Java
-ClassPathは、検索するクラスのパスを設定します。これは、ディレクトリ、JARファイル、またはZIPファイル(すべてのクラスファイルが含まれています)であり、すべてのクラスパス設定を上書きします。
実行されるクラスも検索するクラスの一部であるため、このクラスのパスも-classpath設定に配置する必要があります。
実行するクラスのパスでJavaを実行する場合、このディレクトリも検索する必要があることを示すためにドット(。)を追加する必要があることが明らかになります。
ABC.ClassがパスC:/SRCにあると仮定します
次のコマンドは、任意のパスで実行できます
Java -ClassPath C:/classes; c:/jar/abc.jar; c:/zip/abc.zip; c:/src abc
質問:Main.classがC:/jar/abc.jarに属し、com.cnblogs.jeffchenパッケージにある場合、Java -classpath C:/classes; c:/jar/abc.jar;また、他のJARパッケージにはcom.cnblogs.jeffchenもありますか?間違い?
Windowsの下で、
ファイルパスのスプリッターはバックスラッシュです/
クラスまたはJavaファイルリストのスプリッターはセミコロンです。
Linux/のファイルパスのデリミッタービットスラッシュ/
クラスまたはJavaファイルリストのセパレーターはコロンです。
Linuxの下でコンパイルと実行の例
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d/tmp/javatest/bin//tmp/javatest/src/co/realseed/capability.java/usr/local/java/bin/javac-class /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.capability
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!