2016-01-05 4 views
0

Используя wicket-bootstrap-core и wicket-bootstrap-less (обе версии 0.10.5), я успешно интегрировал Bootstrap в свой проект Wicket 7. Набор вверх выполняется в методеКак монтировать шрифты Glyphicon от WebJars в Wicket

private void initBootstrap() { 
    WicketWebjars.install(this); 

    BootstrapSettings settings = new BootstrapSettings(); 
    settings.setThemeProvider(new SingleThemeProvider(new MyTheme())); 

    Bootstrap.install(this, settings); 
    BootstrapLess.install(this); 
} 

Тема Класс MyTheme относится к МЕНЬШЕ файла theme.less. В этом файле (который компилируется успешно), Bootstrap и Glyphicons импортируются с помощью директивы

@import "webjars!bootstrap/current/less/bootstrap.less"; 
@import "webjars!bootstrap/current/less/glyphicons.less"; 

Единственная проблема заключается в том, что, когда я использую любой из Glyphicons в моей разметки, это вызывает запросы на файлы шрифтов, чтобы быть загружается по пути http://localhost:8080/myproject/wicket/resource/fonts/glyphicons-halflings-regular.woff2 (то же самое с другими расширениями). Поскольку ни один ресурс не установлен, используя класс с именем fonts, это приводит к

21:36:35.298 [tomcat-http--31] WARN o.a.w.c.u.l.WicketObjects - Could not resolve class [fonts] 
java.lang.ClassNotFoundException: fonts 
     [stack trace omitted] 

Таким образом, вопрос: Как я могу получить эти ресурсы правильно установлены? От this У меня создается впечатление, что установка должна быть автоматической, и от this У меня также создается впечатление, что это должно быть без проблем.

+0

Кстати, 'wicket-webjars' - это версия 0.5.3 (это зависимость от' wicket-bootstrap-core' и 'wicket-bootstrap-less'). –

ответ

1

После некоторого дальнейшего мышления, я придумал следующее решение: Добавьте строку

@icon-font-path: '../de.agilecoders.wicket.webjars.request.resource.IWebjarsResourceReference/webjars/bootstrap/current/fonts/'; 

к theme.less таким образом, чтобы значок URL-адреса указывают на место, где файлы уже установлены.

Хотя это решение действительно работает, я действительно надеюсь, что существует менее отвратительный способ.

+0

У меня была аналогичная проблема. Посмотрите [здесь] (https://stackoverflow.com/a/45235995/1988304) – JimHawkins

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

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