错误:导入用户定义的包时,包不存在

时间:2013-07-01 10:28:40

标签: java packages

我正在尝试导入一个包,但在编译时会显示如下错误:

Package doesn't exists

我尝试了一个小例子,但同样的错误也在提高。 这是示例代码:

D : company
        |-salary

以上是目录结构。

package company.salary;

public class Income
{
private int value;

public int getValue() { return this.value; }
}

package company;

import company.salary.*;


public class Budget
{

  public int calculateSavings()
{


    return 0;
}
}

3 个答案:

答案 0 :(得分:1)

要编译,请转到root并使用路径:

D:\>javac company\Budget.java

编译器有一种稍微特殊的方式来查找源代码文件documented here。或者,您可以明确地将根添加到类路径:

javac -classpath D:\ Budget.java

答案 1 :(得分:1)

您不需要import company.salary.*

因为它已经存在于公司包中。所以它永远不会被使用。

所以你的结构应该是这样的: 在公司包中会有另一个Salary包和Budget.java,在Salary包中它将是income.java文件。

Budget.Java

package company;

public class Budget
{

  public int calculateSavings()
  {


    return 0;
  }
}

Income.java

package company.salary;

public class Income
{
       private int value;


       public int getValue()
       { 
                 return this.value;
       }
}

如果你还不知道这一点,你应该读一读:http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html#Understanding

答案 2 :(得分:1)

不需要import company.salary.*它已经在公司包中。为什么不使用eclipse或NetBeans IDE,它将使您的任务更容易,只需编写代码并让IDE为您的错误提出建议。