2017-01-26 21 views
5

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

// reflection to access a private constructor of a class 
     Constructor<CMISBridgeMaps> c = CMISBridgeMaps.class.getDeclaredConstructor(new Class[0]); 
     c.setAccessible(true); 
     cmisBridgeMaps = c.newInstance(new Object[0]); 

Приведенный выше код решил мой сонар сканирования критически важный вопрос. Но, к сожалению, подкрепиться теперь отображается доступа манипуляции спецификатор вопрос на следующей строке:

c.setAccessible(true); 

Как я могу решить, как укрепить и sonarcube вопросы? Любая помощь будет принята с благодарностью.

ответ

-2

Если вы используете Spring, вы можете использовать ReflectionUtils.makeAccessible(field), чтобы сделать это поле доступным. Fortify не жалуется на эту настройку.

Подробнее об этом можно узнать в this article.

 Смежные вопросы

  • Нет связанных вопросов^_^