Java, allodalaccessorerror: пробег доступа к суперклассу не удаласьJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java, allodalaccessorerror: пробег доступа к суперклассу не удалась

Сообщение Anonymous »

Я работал над небольшим собственным проектом в Java, а недавно я собрал его и получил эту ошибку: < /p>


Исключение в потоке «Основной» java.lang.illegalaccesserror: Superclass Access Проверка: Class.zele.v1. module @0x4563e9ab) cannot access class com.sun.javafx.collections.ObservableListWrapper (in module javafx.base) because module javafx.base does not export com.sun.javafx.collections to unnamed module @0x4563e9ab


фон: < /strong> < /h2>

Итак, в настоящее время у меня есть три разных класса, все в одном пакете. Моя иерархия заключается в следующем: < /p>

Код: Выделить всё

• Kröw
• DataManager
♦ ConstructList
< /code>

В предыдущих версиях моей программы моя иерархия была такой: < /p>

• Kröw
♦ DataManager
- ConstructList
В обоих случаях ConstructList расширенный com.sun.javafx.collections.observablelelistwrapper . (Я не думаю, что класс Construct < /code> здесь необходима, и я бы предпочел не показывать ее, но я могу, если это необходимо.) < /P>

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

Код: Выделить всё

Exception in thread "main" java.lang.IllegalAccessError: superclass access check failed: class kröw.zeale.v1.program.core.DataManager$ConstructList (in unnamed module @0x4563e9ab) cannot access class com.sun.javafx.collections.ObservableListWrapper (in module javafx.base) because module javafx.base does not export com.sun.javafx.collections to unnamed module @0x4563e9ab
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at kröw.zeale.v1.program.core.DataManager.(DataManager.java:22)
at kröw.zeale.v1.program.core.DataManager.getDataManager(DataManager.java:63)
at kröw.zeale.v1.program.core.Kröw.(Kröw.java:23)
< /code>

 Часть класса Kröw < /code>, которая упоминается в ошибке: < /strong> < /p>

private static final DataManager DATA_MANAGER = DataManager.getDataManager(); // line 23
< /code>

 части класса DataManager < /code>, которые упоминаются в ошибке: < /strong> < /p>

static DataManager getDataManager() { // line 66
return new DataManager();
}
< /code>

и < /p>

public final ConstructList constructs = new ConstructList();  // line 22
< /code>

 class constructlist < /code>: < /strong> < /p>

public class ConstructList extends ObservableListWrapper { // line 209

private ConstructList() {
super(new ArrayList()); // line 212
}

public LinkedList getDeadConstructs() {
...
}

public LinkedList getLivingConstructs() {
...
}
}
< /code>

Теперь я рассмотрел ресурсы, которые я мог бы найти, такие как allodalaccesserror, так что вопрос < /p>

( обратите внимание, как это сказано: «Пробовал метод доступа» вместо «Superclass Access Percover». JAR File и мой исходный код, поэтому я попробовал это и нашел некоторые незначительные различия. Вот измененные строки кода из моего декомпилированного файла JAR.  (Декомпилируется с помощью JD-GUI) < /p>

 class DataMager < /code>: < /strong> < /p>

public final ConstructList constructs = new ConstructList(null);
< /code>

 используется: < /em> < /p>

public final ConstructList constructs = new ConstructList();
< /code>

 class constructlist < /code>: < /strong> < /p>

private ConstructList() {
super();
}
< /code>

 используется: < /em> < /p>

private ConstructList() {
super(new ArrayList());
}
Теперь, в декомпилированном коде, конструктор ConstructList () не имеет каких -либо параметров, и я вижу, что его вызывают с NULL , который выглядит для меня как ошибка, но я не уверен, что это причина моего исключения, и я не смог найти что -либо через Интернет, и я не уверен, что это причина, и я не смог найти что -либо через Интернет, и я не был. /> На другом примечании декомпилированный код, который я дал, был создан моей IDE, используя ее функцию экспорта. Я хотел бы посмотреть, является ли проблема NULL с моим конструктором, но я не знаю, как скомпилировать мой код по -другому, чтобы отразить это. Если кто -то знает, как я могу изменить экспортированный код, который я получаю, сообщите мне.>

Подробнее здесь: https://stackoverflow.com/questions/434 ... eck-failed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»