Не могу понять ошибку импорта jme3 в eclipse

** ОБНОВЛЕНИЕ: я закрыл и снова открыл eclipse (что я делал раньше), и мне было представлено новое решение «быстрого исправления» для перемещения библиотеки на путь модуля (в котором она была раньше), и теперь Я могу сослаться на него, но сейчас

import com.jme3.app.SimpleApplication;

говорит

The package com.jme3.app is accessible from more than one module: jme3.core, jme3.desktop

мой модуль-информация теперь также содержит предупреждения: module-info.java:

module vast {
    requires jme3.core; //Name of automatic module 'jme3.core' is unstable, it is derived from the module's file name.
    requires jme3.desktop; //the same(ish)
    requires jme3.lwjgl; // and so on
}

Я собираюсь немного повозиться и посмотреть, что я могу понять об этих **

Итак, я решил перенести один из своих проектов с LWJGL3 на JME3 (используя Eclipse). Я последовал совету Настройка JME3 в Eclipse, в частности загрузка библиотеки, извлечение ее в подпапку lib в моем проекте, затем я добавил содержимое библиотеку в пользовательскую библиотеку (с помощью добавления JAR-файлов, поскольку они находятся в моем проекте) и добавил библиотеку в мой путь к классам. Я знаю, что eclipse видит библиотеку (предложения по коду), но я продолжаю получать ошибки доступа.

Настраивать:

  • Arch Linux (последняя версия)
  • Eclipse IDE для разработчиков Java (2019-12 (4.14.0))

Вот код (небольшой тестовый класс, чтобы убедиться, что он работает, прежде чем я рефакторинг):

Тест.java:

package lab.stone.werlious.vast;

import com.jme3.app.SimpleApplication; //the type com.jme3.app.SimpleApplication is not accessible.

public class Test extends SimpleApplication { //SimpleApplication cannot be resolved to a type

}

модуль-info.java:

module vast {
    requires jme3.core; // jme3.core cannot be resolved to a module
}

Я пробовал много разных комбинаций добавления библиотеки (путь к модулю, путь к классам, пользовательская библиотека, внешние JAR-файлы, внутренние JAR-файлы lib) и ссылки на нее. Я продолжаю получать ошибки, несмотря на то, что SimpleApplication предлагает импортировать com.jme3.app.SimpleApplication, что предполагает добавление требует jme3.core в информацию о модуле.

Я не использую maven или gradle (ненавижу их) и предпочитаю делать что-то локально. Я также предпочитаю eclipse jme3 sdk. Может кто-нибудь сказать мне, как правильно импортировать эту библиотеку (без maven или gradle)? и как правильно импортировать его в мой код? Раньше у меня не было этой проблемы с добавлением LWJGL3 в eclipse, и в настоящее время jme3 добавляется так же, как lwjgl3 в моем исходном проекте (jars в папке lib в проекте, папка lib добавляется как пользовательская библиотека, пользовательская библиотека добавляется в путь к классам).

Спасибо за вашу помощь

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


person Werlious    schedule 05.02.2020    source источник
comment
stackoverflow.com/questions/46834695/   -  person A Farmanbar    schedule 10.02.2020
comment
Система модулей платформы Java (JPMS) не позволяет иметь один и тот же пакет более чем в одном модуле. Каждый устаревший JAR-файл обрабатывается как отдельный модуль, а имя модуля получается из имени файла (это нестабильно, поскольку изменение имени файла также изменит имя модуля). В качестве обходного пути вы можете объединить JAR-файлы jme3 в один JAR-файл. Кроме того, вы не можете использовать JPMS, удалив файл `module-info.java' и переместив файлы JAR из пути к модулям в путь к классам (все в пути к классам обрабатывается так же, как в модуле UNNAMED).   -  person howlger    schedule 10.02.2020