3

这是一道 scjp 模拟考试题。

假设我有以下两个文件:

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.classKitJar.jar

根据答案,产生输出 bc 的 java 调用是

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

请解释运算符“:”和“.”的使用。

4

2 回答 2

18

:是 Java 类路径中条目的分隔符。.表示“当前目录”。所以类路径com/KitJar.jar:.意味着在两个位置查找 Java 类文件:com/KitJar.jar和当前目录。

于 2009-12-13T16:42:28.297 回答
7

接受的答案是正确的,但它可能已经提到类路径分隔符实际上是依赖于平台的,正如评论中指出的那样。

有关更多信息,包括对类路径通配符的解释,以及关于如何清理CLASSPATH环境变量的详细描述,请参阅设置类路径技术说明(和/或设置*nix 版本的类路径)。

于 2009-12-13T17:47:38.297 回答