Класс не может найти другой класс в одном пакете

У меня есть два файла: Figures.java и Screen.java. Они находятся в одном пакете engine. Вот код обоих файлов:

Figures.java:

package engine;
import config.ConfigurationClass;

public class Figures
{
    class Circle
    {
        private float x;
        private float y;
        private float size;
        private char pixel;
        Circle(/*float x, float y,*/ float size, char pixel)
        {
            /*this.x = x;
            this.y = y;*/
            this.size = size;
            this.pixel = pixel;
        }
        public int drawFigure()
        {
            int rh = ConfigurationClass.renderHeight;
            int rw = ConfigurationClass.renderWidth;
            for(rh = 1; rh <= ConfigurationClass.screenHeight; rh++)
            {
                for(rw = 1; rw <= ConfigurationClass.screenWidth; rw++)
                {
                    y = (float)rh / ConfigurationClass.screenHeight * 2f - 1f;
                    x = (float)rw / ConfigurationClass.screenWidth * 2f - 1f;
                    x *= ConfigurationClass.screenRatio * ConfigurationClass.charRatio;
                    char pixel = ' ';
                    if(x * x + y * y < this.size) pixel = this.pixel;
                    System.out.print(pixel);
                }
                System.out.println();
            }
            return 0;
        }
    }
}

Screen.java:

package engine;
import figures.Figures.*;
import config.ConfigurationClass;

public class Screen
{
    public int drawer(Figures[] objects)
    {
        for(ConfigurationClass.frame = 0;ConfigurationClass.frame <= objects.length; ConfigurationClass.frame++)
        {
            objects[ConfigurationClass.frame].drawFigure();
        }
    }
}

При компиляции Figures всё проходит гладко, однако при компилировании Screen происходит ошибка:

screen.java:2: error: package Figures does not exist

import Figures.Circle; screen.java:7: error: cannot find symbol public int drawer(Figures[] objects) symbol: class Figures

location: class Screen 2 errors

В чем может быть проблема?


Ответы (1 шт):

Автор решения: Roman C

Здесь я просто скажу, что надо правильно запускать компилятор javac и использовать опцию -cp . для поиска уже скомпилированных классов относительно текущей директории.

javac -cp . engine/*.java

должно работать

Только удалите ненужный импорт Figures, ведь классы находятся в одном пакете.

И компилировать надо из корневой папки проекта.

→ Ссылка