Класс не может найти другой класс в одном пакете
У меня есть два файла: 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 шт):
Здесь я просто скажу, что надо правильно запускать компилятор javac и использовать опцию -cp .
для поиска уже скомпилированных классов относительно текущей директории.
javac -cp . engine/*.java
должно работать
Только удалите ненужный импорт Figures
, ведь классы находятся в одном пакете.
И компилировать надо из корневой папки проекта.