【问题标题】:Java compile error 'package does not exist'Java编译错误'包不存在'
【发布时间】:2020-05-23 05:32:54
【问题描述】:

我创建了两个 packages.class 文件(util.Displayable & school.Teacher)。 Teacher 类将从 util 实现 Displayable 接口。当我编译它时,我收到“teacher.java:2: error: package util does not exist”。其他错误是 util 包“不存在”的结果。我删除了 util 文件并再次尝试但得到了同样的错误。关于为什么找不到 util 包的任何想法? 谢谢!

util.Displayable 文件

package util;

public interface Displayable {
    public abstract String display();
}

school.Teacher 文件

package school;
import util.Displayable;

  public class Teacher extends Person implements Displayable {
    private String subject;

    public Teacher() {
    }

    public Teacher (String firstName, String lastName, String subject){
        this.setFirstName(firstName);
        this.setLastName(lastName);
        this.setSubject(subject);    
    }        
        public String getSubject() {
          return subject;
        }

        public void setSubject(String subject){
        this.subject = subject;
        }  

        @Override
        public String display() {
          return this.getFullName() + "teaches" + this.getSubject();
        }
    }

编译错误

C:\WEBUCATOR\JVA102_2.0.2\DanProject\school>javac teacher.java
teacher.java:2: error: package util does not exist
import util.Displayable;
           ^
teacher.java:4: error: cannot find symbol
  public class Teacher extends Person implements Displayable {
                               ^
  symbol: class Person
teacher.java:4: error: cannot find symbol
  public class Teacher extends Person implements Displayable {
                                                 ^
  symbol: class Displayable
teacher.java:11: error: cannot find symbol
        this.setFirstName(firstName);
            ^
  symbol: method setFirstName(String)
teacher.java:12: error: cannot find symbol
        this.setLastName(lastName);
            ^
  symbol: method setLastName(String)
teacher.java:23: error: method does not override or implement a method from a supertype
        @Override
        ^
teacher.java:25: error: cannot find symbol
          return this.getFullName() + "teaches" + this.getSubject();
                     ^
  symbol: method getFullName()
7 errors

【问题讨论】:

    标签: java compiler-errors package


    【解决方案1】:

    您可能在环境变量中添加了 jre 路径,或者根本没有添加路径。

    【讨论】:

      【解决方案2】:

      目录结构(和大小写)很重要!将teacher.java 重命名为Teacher.java 并创建一个util 文件夹。将util包中的文件放到util文件夹中,然后运行

      javac util\*.java
      

      使用antmavensbt 之类的工具来管理您的构建(和/或IDE)会更好。

      【讨论】:

      • 编译时OP可能还需要将classpath设置为其他目录:javac -classpath .\util:.\school\ Teacher.java
      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 2021-12-07
      • 2012-02-29
      • 2015-05-07
      • 2017-08-30
      相关资源
      最近更新 更多