Maven Webjars — bootstrap-datepicker делает загрузчик невидимым

Я пытался использовать Bootstrap и Bootstrap-Datepicker в своем проекте SpringMVC: репозиторий GitHub

Я пытаюсь включить Bootstrap и Bootstrap-Datepicker через WebJars следующим образом:

<!-- WebJars -->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>webjars-locator</artifactId>
    <version>0.1</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>3.1.0</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap-datepicker</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>1.10.2</version>
</dependency>

Когда я комментирую зависимость bootstrap-datepicker в pom.xml, браузер выдает в консоли такие ошибки:

GET http://localhost:8080/finager/webjars/bootstrap-datepicker/1.3.0/js/bootstrap-datepicker.js 404 (Not Found)

Это работает, как и ожидалось. Когда я оставляю раздел boostrap-datepicker без комментариев, браузер начинает видеть файлы bootstrap-datepicker, как и ожидалось. К сожалению, консоль браузера начинает выдавать подобные ошибки о том, что теперь файлы Bootstrap не видны! Кажется, что boostrap-datepicker каким-то образом переопределяет Bootstrap.

Я пытался изменить порядок включения и все тот же эффект. Все мои файлы .jsp (включая CSS и JS) кажутся действительными, потому что Bootstrap виден, когда Maven не пытается включить средство выбора даты. Есть ли простой способ проверить, что видно в моей папке webjars после компиляции?

Я очень смущен. В интернете никакой полезной информации не нашел. Я потратил на это целый день, поэтому любая помощь будет очень признательна. Заранее спасибо!


person mc.suchecki    schedule 31.01.2014    source источник


Ответы (1)


Как всегда, решение пришло мне в голову сразу после публикации вопроса. Похоже, Maven обнаружил, что bootstrap-datepicker зависит от bootstrap. Я предполагаю, что в результате он включил Bootstrap в другой версии - это все объяснило бы.

Однако это решение:

<!-- WebJars -->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>webjars-locator</artifactId>
    <version>0.1</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap-datepicker</artifactId>
    <version>1.3.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
        </exclusion>
   </exclusions> 
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>3.1.0</version>
</dependency>

Кто-нибудь знает простое решение для просмотра структуры каталогов /webjars после компиляции Maven? Это предотвратило бы такие проблемы.

person mc.suchecki    schedule 31.01.2014
comment
Немного поздно, но что вы можете сделать, так это построить жизненный цикл сайта maven как mvn clean site, а затем перейти к целевой/сайтовой директории сборки и открыть index.html. Там вы должны увидеть все зависимости и включенные зависимости. - person Zeta; 26.12.2015