Java ошибка компиляции "пакет не существует" - PullRequest
0 голосов
/ 07 февраля 2020

Я создал два файла package.class (util.Displayable & school.Teacher). Класс учителя будет реализовывать интерфейс Displayable из util. Когда я его скомпилировал, я получаю сообщение «teacher. java: 2: error: package util не существует». Другие ошибки были вызваны тем, что пакет утилит «не существует». Я удалил файл утилит и попытался снова, но получил ту же ошибку. Любые идеи о том, почему пакет утилит не может быть найден? Спасибо!

util.Отображаемый файл

package util;

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

school.Teacher file

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

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Структура каталогов (и заглавные буквы) имеют значение! Переименуйте teacher.java в Teacher.java и создайте папку util. Поместите файлы в пакет util в папку util и запустите

javac util\*.java

Еще лучше было бы использовать инструмент типа ant, maven или sbt для управления сборками. (и / или IDE).

0 голосов
/ 07 февраля 2020

Возможно, вы добавили путь jre в переменные окружения или не добавили путь вообще.

...