Java CLASSPATH在ocjp中询问

时间:2014-03-09 09:10:22

标签: classpath

名为Bob的UNIX用户希望用新的国际象棋程序替换他的国际象棋程序,但他不确定旧的国际象棋程序的安装位置。 Bob目前能够使用以下命令从他的主目录/ home / bob开始运行Java国际象棋程序:java -classpath /test:/home/bob/downloads/.jar games.Chess Bob的CLASSPATH已设置(at登录时间):/ usr / lib:/ home / bat / classes:/ opt / java / lib:/ opt / java / lib / .jar Chess.class文件的可能位置是什么?< / p>

/test/Chess.class 
/home/bob/Chess.class 
/test/games/Chess.class 
/usr/lib/games/Chess.class 
/home/bob/games/Chess.class 
inside jarfile /opt/java/lib/Games.jar (with a correct manifest) 
inside jarfile /home/bob/downloads/Games.jar (with a correct manifest) 

请回答这个问题

2 个答案:

答案 0 :(得分:3)

只有这就是答案:

(3)    /test/games/Chess.class

因为当您指定-classpath时,您会从OS中覆盖 CLASSPATH 以执行此操作。他们说&#34; Bob目前能够运行Java国际象棋程序&#34;所以新版本不在CLASSPATH中,而是在Bob指定的路径中。所以只有(3)才是答案。

答案 1 :(得分:1)

类路径加载对我来说似乎总是很棘手,我希望我的回答是正确的。

  • /test/Chess.class - 没有Chess类必须在games包内
  • /home/bob/Chess.class - ,与上述相同
  • /test/games/Chess.class -
  • /usr/lib/games/Chess.class -
  • /home/bob/games/Chess.class - 没有/home/bob未添加到classpath
  • 在jarfile /opt/java/lib/Games.jar中(带有正确的清单) - 没有/opt/java/lib/.jar - cp不能这样定义;正确的路径:/opt/java/lib/*
  • 在jarfile /home/bob/downloads/Games.jar内(带有正确的清单) - ,与上面相同