Java -classpath目录遍历

时间:2014-03-06 01:18:18

标签: java

给定以下目录结构:

的x |

     |- GoDeep.class | 
     |- test-|  
             |- MyJar.jar |
             |- myApp-|
                      |-Foo.java
                      |-Foo.class

并给出了GoDeep.java和Foo.java的内容:

3. public class GoDeep {
4. public static void main(String[] args) {
5. System.out.println(myApp.Foo.d);
6. }
7. }

3. package myApp;
4. public class Foo { public static int d = 8; }

MyJar.jar包含以下条目:

对myApp /让Foo.class

如果当前目录是x,哪些命令将成功执行GoDeep.class和 产生输出8? (选择所有适用的选项。)

一个。 java GoDeep

B中。 java -classpath。 GoDeep

℃。 java -classpath test / MyJar.jar GoDeep

d。 java GoDeep -classpath test / MyJar.jar

电子。 java GoDeep -classpath test / MyJar.jar:。

F。 java -classpath。:test / MyJar.jar GoDeep

-G。 java -classpath test / MyJar.jar: GoDeep

我认为答案应该是B)F)和G)。然而,书中说F)和G)。我知道当我们使用“java”时,必须在类路径中检查两个文件(GoDeep和Foo)作为默认值(即x)。而在“javac”的情况下,它只会搜索需要的文件(Foo)来执行我们的原始文件(GoDeep);未在类路径中搜索原始文件。如果我错了,请纠正我。

在选项B)中,我们使用了“java -classpath.GoDeep”,我们当前的目录是x。然后使用(。)它将检查当前目录。在这种情况下,两个文件在x目录中都可用,那么为什么它的选项不正确?

提前致谢。问题来自SCJP6

0 个答案:

没有答案