名为Bob的UNIX用户希望用新的国际象棋程序替换他的国际象棋程序,但他不确定旧的国际象棋程序的安装位置。 Bob目前能够使用以下命令从他的主目录/ home / bob开始运行Java国际象棋程序:
java -classpath /test:/home/bob/downloads/*.jar games.Chess
Bob的CLASSPATH设置(在登录时)为:
/usr/lib:/home/bob/classes:/opt/java/lib:/opt/java/lib/*.jar
Chess.class文件的可能位置是什么?
A. /test/Chess.class
B. /home/bob/Chess.class
C. /test/games/Chess.class
D. /usr/lib/games/Chess.class
E. /home/bob/games/Chess.class
F. inside jarfile /opt/java/lib/Games.jar (with a correct manifest)
G. inside jarfile /home/bob/downloads/Games.jar (with a correct manifest)
Answer is C but I want to know how it is ...........
答案 0 :(得分:6)
类路径显式传递给java命令,因此它取代了CLASSPATH环境变量。答案B,D,E和F因此是不正确的。
A不正确,因为班级名称为games.Chess
。由于包和目录结构必须匹配,因此Chess.class文件必须位于游戏文件夹中(在jar文件内部或外部)。
C是正确的。
G不正确,因为您无法将* .jar传递给类路径。即使Games.jar明确地在类路径中,清单在这里也没有任何作用。
有关类路径的文档,请参阅http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html。