Это не должно быть проблемой менеджера безопасности - вы получите исключение SecurityException или подкласс.
Код levelField.getInt(*this*)
выглядит не так ...
Вы должны передать экземпляр MessageInfo
в качестве параметра.
Вы называете это из класса MessageInfo
? (почему?!?) или подкласс MessageInfo
? (Попытка заставить приватное поле суперкласса действовать так, как если бы оно было защищено? Есть ли у MessageInfo
метод getLevel()
? Если это так, вы можете вызвать super.getLevel()
, чтобы получить значение, вместо того, чтобы пытаться его таким образом.)
Если это не MessageInfo
или подкласс, это ваша проблема - у вас есть поле level
класса MessageInfo
, и вы пытаетесь получить значение этого поля из текущего класса. Хотя это должно быть IllegalArgumentExeception
вместо IllegalAccessException
...
Если это действительно "IllegalAccessExeception" - попробуйте поместить некоторые записи в этот блок if (levelField == null)
- убедитесь, что это действительно выполняется. Поле является статическим - может быть какой-то другой экземпляр или метод, устанавливающий значение для него.