ATG(9.3) ОШИБКА: java.lang.NoClassDefFoundError: org/owasp/html/HtmlPolicyBuilder

Я пытаюсь добавить OWASP HTMLSanitizer API в мое приложение ATG(9.3), но получаю следующее исключение:

**** Error  Wed Jan 16 01:35:45 IST 2019    1547582745139   
/   Unable to resolve component /test/util/TestingUtil
java.lang.NoClassDefFoundError: org/owasp/html/HtmlPolicyBuilder

Изменения реализации, сделанные до сих пор:

1) Добавлены owasp-java-html-sanitizer.jar и guava-20.0.jar в моей папке commerce/lib (место, где присутствуют все банки)

2) Создан компонент CustomSanitizer, то есть файл CustomSanitizer.properties с содержимым в виде:

$class=org.owasp.html.HtmlPolicyBuilder
$scope=global

3) Добавленный выше созданный компонент к существующему компоненту, где мы должны очистить URL. Файл свойств существующего компонента (TestingUtil.properties)

$class=com.util.TestingUtil
htmlPolicyBuilder=/test/util/HTMLPolicyBuilder

4) TestingUtil.java:

private HtmlPolicyBuilder htmlPolicyBuilder;(setters and getters)

public String filterUrl(String url) {
        String filteredURL = url;
            PolicyFactory policy = htmlPolicyBuilder
                    .allowElements("a")
                    .allowUrlProtocols("https")
                    .allowAttributes("href").onElements("a")
                    .requireRelNofollowOnLinks()
                    .toFactory();
            filteredURL = policy.sanitize(url);
        }
        return filteredURL;

Пожалуйста, предложите.

0 ответов

Во-первых, просто проверка, потому что это не очевидно из перечисленных выше изменений реализации; Включили ли вы новые файлы JAR в манифест модуля? между шагом 1 и шагом 2. (глядя на вашу ошибку, я подозреваю, что это так)

Затем, если вы определили компонент Nucleus (CustomSanitizer.properties), можете ли вы создать его экземпляр самостоятельно? например, что вы получите, если перейдете к компоненту через обозреватель компонентов вdyn/admin? (он глобальный, он должен иметь возможность создать его при первом доступе).

Затем, если можно создать экземпляр компонента, выясните, почему компонент TestigUtil не может получить к нему доступ. Путь к компоненту правильный?

Другие вопросы по тегам