Не удается импортировать библиотеки, на которые есть ссылки, из пути сборки в eclipse

Я пытаюсь пройти через руководство ThinMatrix по Open Gl Java. И... я застрял на видео 1. Я также проработал короткое видео-предшественник где он установил зависимости (включая lwjgl 2) в eclipse. Сейчас у меня как раз самое начало первого занятия:

package renderEngine;
import org.lwjgl.opengl.Display; //Error is here
import org.lwjgl.opengl.DisplayMode; //And here
//Handle the window
public class DisplayManager {
    //Create a display
    public static void createDisplay() {
        Display.setDisplayMode(new DisplayMode());
    }
}

Я получаю сообщение об ошибке "Организация импорта не может быть разрешена". Несмотря на то, что я добавил файлы в конфигурацию пути сборки, а также добавил туда собственный путь. Я просмотрел этот похожий вопрос< /a> и эффективно пробовал каждое предложенное решение. Я также попытался удалить проект и переустановить зависимости. Вот мое файловое дерево для справки:

введите здесь описание изображения

Я был бы очень признателен, если бы вы могли показать мне, что я сделал неправильно. Спасибо большое.

Редактировать 1:

Я обнаружил кое-что интересное относительно строки:

Display.setDisplayMode(new DisplayMode());

Хотя и Display, и DisplayMode подчеркнуты красным, поскольку import выше не работает, появляется одно из быстрых исправлений (даже если я удаляю операторы import):

Импорт «Экран» (org.lwjgl.opengl)

Нажатие на нее записывает оператор импорта вверху (если его там нет) или перемещает к нему курсор (если он там). Затем выдает вышеупомянутую ошибку. Похоже, это указывает на то, что он действительно распознает тот факт, что библиотеки есть, но по какой-то причине не может их импортировать.

Сюжет сгущается.

Редактировать 2:

Чтобы проверить, связана ли проблема конкретно с совместимостью с lwjgl2, я попытался импортировать класс из другой библиотеки (библиотека линейной алгебры под названием «jblas») с помощью:

import org.jblas.Info;

... но снова получаю ту же ошибку. Я предполагаю, что это указывает на то, что проблема связана с тем, как я добавляю сценарии в путь сборки, с самим программным обеспечением или их комбинацией.

Чтобы уточнить, как я размещаю вещи на пути сборки:

Щелкните правой кнопкой мыши имя проекта -> щелкните "путь сборки" -> щелкните "настроить путь сборки" -> щелкните "библиотеки" -> щелкните либо "путь модуля", либо "путь класса" (я пробовал оба) -> щелкните " добавить банки» -> перейдите в мою папку «lib» -> зайдите в папку «jars» -> выберите все банки -> нажмите «применить и закрыть».

Редактировать 3:

Я могу импортировать встроенные пакеты и пакеты, которые я создал.


person PolymorphismPrince    schedule 11.10.2018    source источник
comment
Я вижу Java 10, у меня такое болезненное чувство, что каким-то образом модули каким-то образом делают вещи LWJGL невидимыми для вашего кода.   -  person Gimby    schedule 11.10.2018
comment
Я бы прежде всего убедился, что у вас установлен только один jdk.   -  person Sir. Hedgehog    schedule 11.10.2018
comment
@Sir.Hedgehog, когда я пишу java -version в терминале, он показывает мне три версии: версию java, среду выполнения java (tm) SE и 64-битную виртуальную машину Java HotSpot (TM). Это указывает только на один jdk? Должен ли я идти куда-то еще, чтобы сказать?   -  person PolymorphismPrince    schedule 11.10.2018
comment
@Gimby См. Редактировать 2, я пробовал использовать другие библиотеки, но столкнулся с той же проблемой.   -  person PolymorphismPrince    schedule 12.10.2018
comment
@PolymorphismPrince попытайтесь найти способ заставить вашу iDE видеть только один jdk, который вам нужен. вы можете указать, что я верю в IDE, или, если это невозможно, вы можете сделать это из свойств вашей системы, для чего вам нужно больше гуглить, и всегда, если вы получаете неизвестные вам ошибки, гуглите ошибки. иногда это помогает   -  person Sir. Hedgehog    schedule 12.10.2018
comment
@Sir.Hedgehog Я проверил jdks в eclispe, и он только один.   -  person PolymorphismPrince    schedule 12.10.2018
comment
@PolymorphismPrince, тогда удачи в отслеживании трассировки стека и поиске ошибок.   -  person Sir. Hedgehog    schedule 12.10.2018


Ответы (1)


РЕДАКТИРОВАНИЕ: НЕ ДЕЛАЙТЕ СЛЕДУЮЩЕЕ: ПОСМОТРИТЕ НА РЕДАКТИРОВАНИЕ Я понизил версию своей версии eclipse до Oxygen, теперь я могу импортировать пакеты без ошибок. Надеюсь, в конце концов это будет исправлено, чтобы я мог перейти на последнюю версию eclipse. Кроме того, даже в кислороде он сначала не работал. Я создал новый проект и повторно импортировал различные банки.

Редактировать: я снова столкнулся с этой проблемой, в кислороде

К счастью, на этот раз я решил это быстрее. Я просто добавил следующий фрагмент в свой module-info.jar:

requires org.lwjgl;

Да, это было так просто.

вероятно, проблема была и в первый раз. Эта вторая проблема возникла из второго проекта, который я решил сделать. В последнем проекте не было module-info.jar.

Вот почему это позволило мне не писать эту строчку. Между тем, исходные проекты в eclipse 2018/19 действительно имели файл module-info.jar и имели проблему. Может, в Oxygen этого просто не происходит по умолчанию?

person PolymorphismPrince    schedule 12.10.2018
comment
Кроме того, даже в кислороде сначала это не сработало. Я создал новый проект и повторно импортировал различные jar-файлы. - да, так что это не имело ничего общего с Eclipse, но это была шаткая настройка проекта. Попробуйте открыть этот только что созданный проект в последней версии Eclipse, чтобы посмотреть, что произойдет. - person Gimby; 15.10.2018
comment
@Gimby Да, но я создал несколько проектов в Eclipse 18/19. Ни один из них не работал. - person PolymorphismPrince; 16.10.2018
comment
@Gimby, если тебе интересно, посмотри на мой отредактированный ответ. Я выяснил фактического виновника проблемы. - person PolymorphismPrince; 22.10.2018