3

これはscjp模擬試験問題です。

次の2つのファイルがあるとします。

package pkg;

public class Kit {
    public String glueIt (String a, String b) {return a+b;}
}

import pkg.*;

class UseKit {
    public static void main(String[]args) {
        String s = new Kit().glueIt(args[1],args[2]);
        System.out.println(s);
    }
}

そして、次のディレクトリ構造:

test
   |--UseKit.class
   |
   com
     |--KitJar.jar

現在のディレクトリはtestであり、ファイルpkg/Kit.classはにありますKitJar.jar

答えによると、出力bcを生成するJava呼び出しは次のとおりです。

java -classpath com/KitJar.jar:. UseKit a b c 

演算子「:」と「。」の使い方を説明してください。

4

2 に答える 2

18

:Javaクラスパスのエントリの区切り文字です。.「現在のディレクトリ」を意味します。したがって、クラスパスは、現在のディレクトリのcom/KitJar.jar:.2つの場所でJavaクラスファイルを検索することを意味します。com/KitJar.jar

于 2009-12-13T16:42:28.297 に答える
7

受け入れられた答えは正しいですが、コメントで指摘されているように、クラスパスセパレータは実際にはプラットフォームに依存していると言えます。

CLASSPATHクラスパスワイルドカードの説明や環境変数のクリーンアップ方法の詳細な説明などの詳細については、「クラスパスの設定」テクニカルノート(および/または* nixバージョンのクラスパスの設定)を参照してください。

于 2009-12-13T17:47:38.297 に答える