我正在尝试导入一个包,但在编译时会显示如下错误:
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;
}
}
答案 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为您的错误提出建议。