无法理解java中的类路径

时间:2015-07-30 06:12:50

标签: java classpath

即使经过oracle文档,我也很难理解classpath的概念。请帮助我解决这个问题。

我有以下目录结构

Sample
|
-----source
|       |
|       src
|        |
|       Test2.java
|
------classes
        |
       com
        |
       Test1.java

源代码如下

Test1.java

package classes.com;

public class Test1
{
    public static void main(String[] args)
    {
        System.out.println("In file Test1 in com package....");
    }
}

Test2.java

package source.src;

public class Test2
{
    public static void main(String[] args)
    {
        Test1 test=new Test1();
        System.out.println("In class src..Test2...");
    }
}

我将Test1.java编译为

Q:\Sample>javac classes\com\Test1.java

并且工作正常

现在,因为Test2.java依赖于Test1.java所以我起诉了以下命令

javac -classpath classes\com source\src\Test2.java

然而它的失败说明无法找到类Test1。

不确定我做错了什么。需要帮助

2 个答案:

答案 0 :(得分:2)

无论结构是否错误,您都需要将类路径设置为顶级文件夹,其中包含完整的包名称(classes/com/Test1.java),即:

javac -classpath . source\src\Test2.java

其中.指向当前文件夹,该文件夹是包含classes文件夹的文件夹。

另外,您忘记包含import语句:

import classes.com.Test1;

答案 1 :(得分:0)

首先,您的源文件未正确组织。 将所有.java文件保存在源目录下,并使用"类"或"构建"用于存储.class文件的目录。

运行应用程序时,请确保"类"或"构建"目录被添加为类路径。

存储类的根目录应设置为" classpath"。在你的情况下"类" directory是根文件夹。