Classpath не работает - PullRequest
       25

Classpath не работает

0 голосов
/ 15 марта 2012

Для моего проекта требуется пакет gif4j. Поэтому я установил classpath на «C: ... \ gif4j_pro_trial_2.3.jar» в окне переменных среды на моей панели управления. Я знаю, что когда у нас есть несколько значений для classpath, вы разделяете их точкой с запятой. Я тоже это сделал. Но я все еще получаю эту ошибку при запуске файла.

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
    The import com.gif4j.TextPainter cannot be resolved
    The import com.gif4j.Watermark cannot be resolved

Я не очень понимаю, что здесь происходит, так как я не тот, кто написал код. Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Оператор throw new Error(..() был создан eclipse. Всякий раз, когда eclipse не может скомпилировать класс из-за ошибок времени компиляции в методах, он пытается создать заглушки для этих методов. Таким образом, вы всегда найдете файл класса, даже если в исходном коде есть ошибки.

Такой метод будет выглядеть (пример):

public long calculate(long a, long b) {
   throw new Error("Unresolved compilation problems");  // + additional information
}

На самом деле он не существует в вашем источнике, он создается только на уровне байтового кода.

Итак, что произошло: Скорее всего, вы (или кто-то еще) игнорировали маркеры ошибок в вашем проекте и теперь пытались использовать файлы классов в папке bin. Вы не можете решить эту проблему во время выполнения, вы исправили проект для создания правильно скомпилированных классов.

1 голос
/ 15 марта 2012

Эта ошибка ничего не говорит о невозможности найти классы gif4j в время выполнения .Вместо этого говорится, что когда код был скомпилирован , эти классы были недоступны.javac не выдает таких ошибок (вместо этого он просто не компилируется), поэтому я предполагаю, что этот код был скомпилирован Eclipse.В этом случае вам следует проверить конфигурацию вашего проекта Eclipse и убедиться, что библиотеки gif4j там правильно включены.

...