Исключение в потоке «Основной» 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
В любом случае, сейчас мой 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());
}
Подробнее здесь: https://stackoverflow.com/questions/434 ... eck-failed