该选项如何有效? -classpath混淆

时间:2013-11-19 19:26:34

标签: java classpath

我正在阅读java认证书,这是本书中的问题。请有一个 看一下图中所示的目录结构。

Directory Structure

以下是A.class和B.java的源代码

package xcom;
public class A{}

package xcom;
public class B extends A{}

允许B.java编译。

  1. 将当前目录设置为test然后调用 javac -classpath。 XCOM / B.java
  2. 将当前目录设置为test然后调用 javac -classpath xcom B.java
  3. 将当前目录设置为test,然后调用 javac -classpath xcom: B.java
  4. 它说选项1是正确的,它实际上也在编译。我的观点是,基本上为了让B.java编译,需要找到A.class。我们在目录测试中,当我们说-classpath。时,它会搜索当前目录中的文件。但是当前目录中不存在A.class。有人可以向我解释这个概念吗?

    谢谢, 本

1 个答案:

答案 0 :(得分:1)

该时段告诉它在此实例中搜索当前文件夹中的以下路径。因为您要将当前目录设置为test and invoking -classpath . xcom/B.java 就像在说 search this folder(the test folder) for xcom/B.java)

有一些类似的问题,例如:What is the effect of the dot (.) in the Java classpath?